분류 전체보기 72

백준 2739 구구단 파이썬

1. 문제 N을 입력 받아 구구단 N단 출력하기 2. 출제의도 파악하기 for문 좀 쓸줄 아나? 3. 풀이 for문의 기본 구조를 잘 알고 있는 지 물어보는 문제. 반복문의 기본 문제 중의 기본 문제 for 변수 in 리스트(or 튜플, 문자열): 수행할 문장1 수행할 문장2 여러 형태의 문자열 출력을 시도해봄. N = int(input()) for n in range(1, 10): print(N, '*', n, '=', N * n) N = int(input()) for n in range(1, 10): print(f'{N} * {n} = {N*n}') N = int(input()) for n in range(1, 10): print('{0} * {1} = {2}'.format(N, n, N*n)) 4...

백준 2022.02.14

백준 2884 알람 시계 파이썬

1. 문제 45분 일찍 울리는 알람 설정하기 2. 출제의도 파악하기 if문을 활용해봐랑 3. 풀이 (쏭 생각) 1) 분 입력이 45분 보다 작을 때, 2) 시 입력이 0일때를 먼저 생각했다. 1)일 때는 2) -1로 시간을 변경하고, 분 + 15을 한다. 분이 45보다 크거나 같을 때 그리고 시가 0보다 크면, 분에서 45만 빼준다. hour, minute = map(int, input().split()) if minute < 45: minute = minute + 15 hour = hour - 1 if hour < 0: hour = 23 print(hour, minute) else: minute = minute - 45 print(hour, minute) 4. 남의 버전 분석 시간인 24시간, 분은 6..

백준 2022.02.13

백준 2753 윤년 파이썬

1. 문제 윤년이면 1, 아니면 0 출력하기 윤년은 연도가 4의 배수이면서, 100의 배수가 아닐 때 또는 400의 배수일 때이다. 2. 출제의도 파악하기 여러 조건을 충족하는 코드를 짜볼테냐? 3. 풀이 일단 지난 번의 숏코딩 형태로 풀어보았다. year = int(input()) print('01'[(year%4 == 0) & (year % 100 != 0) | (year%400 == 0)]) 대괄호 안의 조건이 참이면 1이고, 거짓이면 0이 되어 인덱스 역할을 할 수 있다. if문 활용: 문제 지문 그대로 조건을 적용해주었다. year = int(input()) if (year % 4 == 0) and (year % 100 != 0) or (year % 400 == 0): print(1) else:..

백준 2022.02.11

백준 9498 시험 성적 파이썬

1. 문제 시험 점수를 입력받아 90~100점은 A, 80~89점은 B, 70~79점은 C, 60~69점은 D, 나머지 점수는 F출력하기 2. 출제의도 파악하기 if문 써서 여러 조건 가능? 3. 풀이 elif로 다양한 조건을 판단할 수 있다. score = int(input()) if score >= 90: print('A') elif score >= 80: print('B') elif score >= 70: print('C') elif score >= 60: print('D') else: print('F') 4. 남의 버전 분석 (숏코딩) 1330 두수 비교하기와 같은 코드였음. # 숏코딩 print('FFFFFFDCBAA'[int(input())//10]) 입력 받은 수에 10으로 나눈 몫을 인덱스..

백준 2022.02.10

백준 1330 두 수 비교하기 파이썬

1. 문제 두 수 비교하기 → 대소비교 2. 출제의도 파악하기 if문을 활용하도록! 3. 풀이 경우1 두 수를 빼고 그 결과를 가지고 대소비교 가능 경우2 두 수 자체를 부등호 이용해 비교 가능 경우1 두 수를 뺐을 때의 결과가 양수이면 앞의 수가 크고, 음수이면 뒤의 수가 크고, 결과가 0이면 두 수의 절대값이 같다는 개념으로 풀었다. x, y = map(int, input().split()) result = x - y if result > 0: print('>') elif result b else ('

백준 2022.02.09

백준 2588 곱셈

1. 문제 세 자리수 × 세 자리수의 과정을 출력한다. 2. 출제의도 파악하기 2번째로 입력 받은 수를 백의 자리, 십의 자리, 일의 자리로 구분해서 연산 가능? 3. 풀이 1. 입력 받은 두 수 중 첫 번째로 입력받은 수를 정수형으로 바꿔준다. 2. 두 번째로 받은 수는 문자열이므로, 인덱스를 활용해 첫 번째 입력 받은 수와 연산한다. 3. 두 수의 곱을 위해 두 번째 숫자를 정수형으로 바꿔준다. 4. 출력 형식은 줄바꿈으로 표현한다. a = int(input()) b = input() print(a * int(b[-1]), a * int(b[-2]), a * int(b[0]), a * int(b), sep='\n') 4. 남의 버전 분석 몫과 나머지 연산을 통해 각 자리 수 계산을 해줌 a = int..

백준 2022.02.08

백준 10430 나머지 파이썬

1. 문제 세 수가 주어졌을 때 4가지 값 구하기 (A+B)%C, ((A%C) + (B%C))%C, (A×B)%C, ((A%C) × (B%C))%C 2. 출제의도 파악하기 나머지 계산할 줄 아니? 3. 풀이 1.9 백준 10869 사칙연산에서 남의 버전 분석한 대로 하면 된다. sep = '\n' : 각 출력할 요소를 줄바꿈으로 표현하기 위함이다. a, b, c = map(int, input().split()) print((a + b)%c, ((a%c) + (b%c))%c, (a * b)%c, ((a%c)*(b%c))%c, sep='\n') 수학에서 곱셈은 분배 법칙이 적용되는데, 2번째 식과 마지막 식에서 공통된 부분을 뽑아 작성해보았다. a, b, c = map(int, input().split())..

백준 2022.02.07

백준 10869 사칙연산 파이썬

1. 문제 1000 A + B, 1001 A - B, 10998 A × B을 곁들여, A // B 몫, A % B 나머지 출력하기 2. 출제의도 파악하기 사칙연산 한꺼번에 출력 가능? 3. 풀이 1000 A + B, 1001 A - B, 10998 A × B, 1008 A / B 풀이와 같음. // : 나누었을 때 몫을 반환 예) 6 // 3 = 2 → 6 ÷ 3 = 2 … 0 이므로 2를 반환 % : 나머지 반환 예) 7 % 3 = 1 → 7 ÷ 3 = 2 … 1 이므로 1을 반환 a, b = map(int, input().split()) print(a + b) print(a - b) print(a * b) print(a // b) print(a % b) 공백을 기준으로 두 수 입력 받는다. 이때 문자..

백준 2022.02.06

백준 1008 A / B 파이썬

1. 문제 두 정수를 입력 받아 나누기 2. 출제의도 파악하기 연산자 ' / ' 이용해서 나눌 줄 아니? 3. 풀이 1000 A + B, 1001 A - B, 10998 A × B 랑 연산자만 바꾼 문제임. a, b = map(int, input().split()) print(a / b) a,b,c=input();print(int(a)/int(c)) 두 번째 코드에선 ' ; '를 입력해 한줄에 모조리 입력해줌. ' ; '는 마침표와 같은 의미로 한줄로 받아드림. 4. 남의 버전 분석 pass 5. 출력 확인

백준 2022.02.05