반응형

개발 연습장/백준 문제풀이 221

[파이썬, Python] 백준 2525: 오븐 시계

문제 https://www.acmicpc.net/problem/2525 2525번: 오븐 시계 첫째 줄에 종료되는 시각의 시와 분을 공백을 사이에 두고 출력한다. (단, 시는 0부터 23까지의 정수, 분은 0부터 59까지의 정수이다. 디지털 시계는 23시 59분에서 1분이 지나면 0시 0분이 된다.) www.acmicpc.net 코드 A, B = map(int, input().split()) C = int(input()) A += C // 60 B += C % 60 if B >= 60: A+=1 B-=60 if A >= 24: A-=24 print(A,B) 설명 앞선 시계 문제와 크게 차이 없어 보이지만, 조금 더 난이도가 있다고 생각한다. C의 범위가 달라지기에 조금 더 생각을 해보아야 한다. 우선 C..

[파이썬, Python] 백준 2884: 알람 시계

문제 https://www.acmicpc.net/problem/2884 2884번: 알람 시계 상근이는 매일 아침 알람을 듣고 일어난다. 알람을 듣고 바로 일어나면 다행이겠지만, 항상 조금만 더 자려는 마음 때문에 매일 학교를 지각하고 있다. 상근이는 모든 방법을 동원해보았지만, www.acmicpc.net 코드 H, M = map(int, input().split()) if H != 0: if M >= 45: print(H, M - 45) else: print(H-1, M + 15) else: if M >= 45: print(H , M - 45) else: print(23, M + 15) 설명 간단해 보이는 문제지만, 조금 생각할 부분이 있다. 우선 45분을 빼는 문제라서, 'M'에 해당하는 '분'이 ..

[파이썬, Python] 백준 14681: 사분면 고르기

문제 https://www.acmicpc.net/problem/14681 14681번: 사분면 고르기 점 (x, y)의 사분면 번호(1, 2, 3, 4 중 하나)를 출력한다. www.acmicpc.net 코드 x = int(input()) y = int(input()) if x > 0 and y > 0: print("1") elif x > 0 and y < 0: print("4") elif x < 0 and y < 0: print("3") else: print("2") 설명 조건문을 활용한 문제이다. 각 조건에 x와 y에 대한 조건이 들어가는데, 사분면의 성질에 따라 조건을 입력해주면 되는 간단한 문제이다.

[파이썬, Python] 백준 2753: 윤년

문제 https://www.acmicpc.net/problem/2753 2753번: 윤년 연도가 주어졌을 때, 윤년이면 1, 아니면 0을 출력하는 프로그램을 작성하시오. 윤년은 연도가 4의 배수이면서, 100의 배수가 아닐 때 또는 400의 배수일 때이다. 예를 들어, 2012년은 4의 배수이면서 www.acmicpc.net 코드 a= int(input()) if (a%4 == 0) and ((a%100 != 0) or (a%400 == 0)): print("1") else: print("0") 설명 조건문의 if 부분에 조건이 여러 개 들어갈 수 있다는 것을 알려주는 문제이다. 'and'로 동시에 만족해야하는 조건을 설정할 수 있고, 'or'로 여러 가지 조건 중 1개만 만족해도 되는 조건을 설정할 수..

[파이썬, Python] 백준 9498: 시험 성적

문제 https://www.acmicpc.net/problem/9498 9498번: 시험 성적 시험 점수를 입력받아 90 ~ 100점은 A, 80 ~ 89점은 B, 70 ~ 79점은 C, 60 ~ 69점은 D, 나머지 점수는 F를 출력하는 프로그램을 작성하시오. www.acmicpc.net 코드 a= int(input()) if 100>= a >= 90: print("A") elif 90 > a >= 80: print("B") elif 80 > a >= 70: print("C") elif 70 > a >= 60: print("D") else: print("F") 설명 앞서 말했던 if 와 elif 그리고 else를 통한 범위 출력 문제다. 간단하게 범위만 나눠주면 별 문제 없이 풀 수 있다.

[파이썬, Python] 백준 1330: 두 수 비교하기

문제 https://www.acmicpc.net/problem/1330 1330번: 두 수 비교하기 두 정수 A와 B가 주어졌을 때, A와 B를 비교하는 프로그램을 작성하시오. www.acmicpc.net 코드 a, b = map(int, (input().split())) if a > b: print(">") elif a < b: print("")' 와 같이 조건이 참(True)이라면, 실행하게 될 동작으로 나뉜다. 조건이 하나만 있는 경우도 있겠지만 그렇지 않은 경우에는, 'elif'를 사용하는데 이는 'else if'를 줄인 것이다. elif의 개수에는 제한이 없고 얼마든지 사용이 가능하다. 마지막으로 'else'를 사용하는데, 이는 위의 모든 조건(if, elif)가 거짓일 때, 실행하게 된다.

[파이썬, Python] 백준 10171: 고양이

문제 https://www.acmicpc.net/problem/10171 10171번: 고양이 아래 예제와 같이 고양이를 출력하시오. www.acmicpc.net 코드 print("\\ /\\") print(" ) ( ')") print("( / )") print(" \\(__)|") '\'를 출력하기 위해선 문자열에서 '\\'로 출력해야 한다. 설명 다른 부분은 그대로 따라 그리면 어려운 부분은 없었을 것이다. 하지만, 출력과 같은 모양으로 그대로 입력을 주면 다른 모양이 나온다. '\'와 같은 특수한 역할이 있는 기호들은 입력 시, 두 번을 입력해야 한다는 것을 알아두자

[파이썬, Python] 백준 2588: 곱셈

문제 https://www.acmicpc.net/problem/2588 2588번: 곱셈 첫째 줄부터 넷째 줄까지 차례대로 (3), (4), (5), (6)에 들어갈 값을 출력한다. www.acmicpc.net 코드 a = int(input()) b = input() print(a * int(b[2])) print(a * int(b[1])) print(a * int(b[0])) print(a * int(b)) 생소한 문법이 하나 보인다. 'b[2]' 이런 문법이 있는데 이는, b 문자열의 [2]번째에 있는 단어, 숫자를 표현하는 방법이다. 사람은 1부터 숫자를 세지만, 컴퓨터는 0부터 숫자를 세기 때문에, 0,1,2... 이런 식으로 숫자를 사용하면 된다. 그렇다면 b[2]는 입력받은 수의 세번째 자리를..

반응형