목록View All (352)
DATA101

안녕하세요, 오늘은 Java에서 if~else 보다 정형화된 조건형 제어문 Switch~case 구문에 대해 알아봅니다. 💡 학습 목표 Java에서 Switch~case 구문 활용방법과 사용 목적에 대해 이해한다. 1. Switch~case 구문이란? Switch~Case 구문 if~else 구문처럼 조건식 중 하나로, 하나의 조건식 결괏값에 따라 각각 다른 연산을 수행하도록 프로그램을 설계할 때 주로 활용합니다. 이러한 경우에서는 if~else 구문을 그대로 활용하면 코드 자체가 간결하지 않을 뿐만 아니라, 위에서부터 조건식을 일일이 검증해야 하기 때문에 프로그램의 비용이 높아집니다. 2. Switch~case 구문 활용 예시 예를 들어, 아래 표와 같이 시험 점수에 따라 등급을 A, B, C, D, ..

오늘은 Java에서 Random 모듈을 활용해 임의의 정수를 생성하는 방법을 공유합니다. 그럼 바로 시작하죠! 💡 학습 목표 Random 모듈을 활용해 임의의 정수를 추출하는 방법에 대해 이해한다. 기본 실습코드 Random 모듈 import import java.util.Random; Random 모듈을 import 해줍니다. Random 객체 생성 및 모듈 import 단축키 public class Hello{ public static void main(String [] args){ Random rn = new Random(); } } 이제 Random 객체를 생성해 줍니다. 앞서 Random 모듈을 import 할 때 일일이 코드를 입력하는 방법도 있지만, 간편한 자동완성 단축키도 있습니다. 코드 ..

안녕하세요, 오늘은 Java에서 클린 코드(clean code)를 위한 for 반복문 작성 꿀팁을 공유합니다. 그럼 바로 시작하죠! 💡 학습목표 Java 클린 코드를 위한 for 반복문 작성 규칙을 학습한다. 들어가며 클린코드를 위한 반복문 작성 시 가장 유념해야 할 사항은 직관적으로 반복 횟수를 파악할 수 있도록 작성하는 것입니다. 조건식, 변화식 작성과 이클립스 단축키를 차례로 공유합니다. 1. 조건식 작성 Tip for 반복문 작성 시 초기 조건의 변숫값이 0이냐, 1이냐에 따라 조건식(i.e., 부등호 기호) 작성 규칙이 달라집니다. 각각 살펴보죠. 1) 초기조건 변숫값이 0인 경우 public class Hello { public static void main(String[] args) { fo..

Step 1. pandas 패키지 import import pandas as pd pandas를 import 해줍니다. 설치가 안 되어 있는 분은 터미널(커맨드라인)에 아래 명령어를 입력하셔서 pandas를 설치해 주세요. $ pip install pandas Step 2. 데이터프레임 세팅 dt = pd.DataFrame({'이름': ['성기훈', '조상우', '장덕수', '오일남', '한미녀'], '주소': ['서울시 도봉구 쌍문동', '서울시 종로구 혜화동', '서울시 강남구 삼성동', '서울시 강남구 논현동', '서울시 강남구 논현동']}) 예제를 위한 데이터프레임을 세팅했습니다. dt.head() 데이터프레임을 조회하면 아래와 같습니다. Step 3. Series.str.contains('찾을 ..

📚 문제 링크: https://www.acmicpc.net/problem/11399 11399번: ATM 첫째 줄에 사람의 수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄에는 각 사람이 돈을 인출하는데 걸리는 시간 Pi가 주어진다. (1 ≤ Pi ≤ 1,000) www.acmicpc.net 💡 접근법 소요시간이 가장 적은 사람을 맨 앞 순서로 보내면 해결이 가능합니다. N명의 ATM 이용 총 시간은 각 사람마다 기다리는 시간과 소요 시간을 합한 값들을 합계하면 됩니다. 즉, 첫 번째 사람은 p1 시간이 소요되고, 두 번째 사람은 p1 + p2, ... N번째 사람은 p1 + p2 + ... pN이 소요됩니다. 따라서 N명이 모두 ATM을 이용하는 데 필요한 시간을 수식으로 나타내면 "p1*N + ..

📚 문제 링크: https://www.acmicpc.net/problem/11718 11718번: 그대로 출력하기 입력이 주어진다. 입력은 최대 100줄로 이루어져 있고, 알파벳 소문자, 대문자, 공백, 숫자로만 이루어져 있다. 각 줄은 100글자를 넘지 않으며, 빈 줄은 주어지지 않는다. 또, 각 줄은 공백으로 시 www.acmicpc.net 💡 접근법 문제에서는 입력을 받을 문자열 개수나 입력 명령어를 끝내는 조건이 따로 주어지지 않았죠. 그럼에도 우리는 프로그램이 알아서 똑똑하게 입력받는 작업을 멈춰주길 바랍니다. 이러한 경우에는 try ~ except 구문을 활용하여 쉽게 해결할 수 있습니다. 즉, 무한 반복문에서 문자열을 끊임없이 입력받는 작업을 try 구문 안에 입력하고, 문자열을 입력받지 않..

📚 문제 링크: https://www.acmicpc.net/problem/1316 1316번: 그룹 단어 체커 그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. 예를 들면, ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때 www.acmicpc.net 💡 접근법 본 문제 풀이에 있어서는 2가지를 체크하는 것이 가장 중요합니다. ✅ 첫째, 단어 내 어떤 알파벳의 기(旣, already) 등장여부 ✅ 둘째, 단어 내 어떤 알파벳 이전 알파벳과 같은지 여부 즉, 그룹 단어란 어떤 알파벳이 최초로 한 번만 등장했거나 2번 이상 등장할 경우 연속해서 등장해야만 합니다. 이 점만 유념하시면 쉽게 문제를 푸실..

📚 문제 링크: https://www.acmicpc.net/problem/1427 1427번: 소트인사이드 첫째 줄에 정렬하고자하는 수 N이 주어진다. N은 1,000,000,000보다 작거나 같은 자연수이다. www.acmicpc.net 💡 접근법 입력받은 문자열(string) 기반 숫자를 반복문을 통해 인덱싱하여 리스트 원소로 만든 후, sorted 함수로 리스트를 내림차순 정렬하고 join 함수로 리스트 원소를 모두 이어붙인 문자열로 반환하여 해결하였습니다. 💻 코드 # https://www.acmicpc.net/problem/1427 print("".join(sorted([number for number in input()], reverse=True))) ✅ 정답 확인 👨💻 파이썬 파일(Gith..