https://www.acmicpc.net/problem/2884 2884번: 알람 시계 상근이는 매일 아침 알람을 듣고 일어난다. 알람을 듣고 바로 일어나면 다행이겠지만, 항상 조금만 더 자려는 마음 때문에 매일 학교를 지각하고 있다. 상근이는 모든 방법을 동원해보았지만, www.acmicpc.net 문제 해석 문제만 본다면 단순히 받은 시간에 45분을 빼주면 될 것 같지만 1시간이 60분이고 분에 값을 뺀 만큼 시간도 빼줘야 하기 때문에 문제가 어려워 보입니다. 이런 류의 문제를 풀 때 단순히 내가 이 문제를 해결하기 위해서 어떻게 풀건지 생각하는 게 가장 좋습니다. 저 같은 경우 분에 45분을 뺀다면, 빼야 될 분이 45분 이하일 때 시간에 -1을 한 후 분에 60을 더하고 45를 뺀 값이 결과가 ..
python
https://www.acmicpc.net/problem/14681 14681번: 사분면 고르기 점 (x, y)의 사분면 번호(1, 2, 3, 4 중 하나)를 출력한다. www.acmicpc.net 문제 해석 정수를 입력받아 조건에 따라 다른 결과를 리턴하는 문제입니다. 이전이 풀었던 점수에 따라 출력이 달라지는 문제와 알고리즘이 동일하는 점을 문제를 통해 알 수 있고, 조건만 이해하면 쉽게 풀 수 있습니다. 풀이 x, y값에 따라 사분면이 달라지고, 그 기준은 x가 양, 음일 때 y가 양, 음 일 때 달라짐을 문제의 그림을 통해 알 수 있습니다. 따라서 조건의 기준은 x가 0보다 큰지, 작은지 와 y가 0보다 큰지, 작은지에 대해 논리식을 세워야 할 것입니다. 처음에 이 문제를 봤을 때 x와 y가 0인..
https://www.acmicpc.net/problem/2753 2753번: 윤년 연도가 주어졌을 때, 윤년이면 1, 아니면 0을 출력하는 프로그램을 작성하시오. 윤년은 연도가 4의 배수이면서, 100의 배수가 아닐 때 또는 400의 배수일 때이다. 예를 들어, 2012년은 4의 배수이면서 www.acmicpc.net 문제 해석 값이 주어지면 주어진 조건에 맞는지 판단하는 문제이므로 if 구문을 사용할 수 있습니다. 다만 문제에서 주어진 조건을 논리식으로 풀어써야 하는 게 핵심입니다. 풀이 if 구문을 이용해 주어진 조건(윤년) 참이면 1, 거짓이면 0을 출력하는 단순한 문제입니다. 다만 문제에 주어진 조건을 이해하고 코드로 변환하는 게 익숙하지 않다면 조건식을 세우는데 어려움이 있을 겁니다. 파이썬의..
https://www.acmicpc.net/problem/9498 9498번: 시험 성적 시험 점수를 입력받아 90 ~ 100점은 A, 80 ~ 89점은 B, 70 ~ 79점은 C, 60 ~ 69점은 D, 나머지 점수는 F를 출력하는 프로그램을 작성하시오. www.acmicpc.net 문제 해석 특정 범위에 속하면 정해진 출력을 하는 문제이기 때문에 if 구문을 사용합니다. 풀이 if ~ elif 구문을 사용하여 구간을 정해 원하는 출력을 합니다. a = input() a = int(a) if a >= 90: print('A') elif a >= 80: print('B') elif a >= 70: print('C') elif a >= 60: print('D') else: print('F') input()..
https://www.acmicpc.net/problem/1330 1330번: 두 수 비교하기 두 정수 A와 B가 주어졌을 때, A와 B를 비교하는 프로그램을 작성하시오. www.acmicpc.net 문제 해석 변수로 정수를 받고 if 문으로 조건에 따라 출력합니다. 풀이 파이썬은 if ~ elif 구문을 사용합니다. a,b = input().split() a = int(a) b = int(b) if a > b: print('>') elif a < b: print('
https://www.acmicpc.net/problem/10172 문제 해석 입력 데이터 없이 print() 함수를 사용해 예제 출력을 합니다. \ ' " 문자를 출력하기 위해서 \(역슬래시) 문자를 앞에 붙여야 한다는 개념을 이용합니다. 풀이 print("|\\_/|") print("|q p| /}") print("( 0 )\"\"\"\\") print("|\"^\"` |") print("||_/=\\\\__|") 특수 문자를 출력하기 위해 역슬래시를 붙여야 한다는 사실만 안다면 쉽게 풀 수 있습니다.
https://www.acmicpc.net/problem/10171 10171번: 고양이 아래 예제와 같이 고양이를 출력하시오. www.acmicpc.net 문제 해석 입력 데이터 없이 print() 함수를 사용해 예제 출력을 합니다. \ ' 문자를 출력하기 위해서 \(역슬래시) 문자를 앞에 붙여야 한다는 개념을 이용합니다. 풀이 print("\\ /\\") print(" ) ( \')") print("( / )") print(" \\(__)|") C언어의 경우 | , / , \,' 앞에 역슬래시를 다 붙여야 하지만 파이썬은 \ ' 문자 앞에만 붙여도 충분합니다. 특수 기호 앞에 역슬래시를 붙여야 한다는 점만 안다면 쉽게 풀 수 있는 문제입니다. 스파이더나 이클립스로 직접 확인해 보세요.
https://www.acmicpc.net/problem/11382 11382번: 꼬마 정민 첫 번째 줄에 A, B, C (1 ≤ A, B, C ≤ 1012)이 공백을 사이에 두고 주어진다. www.acmicpc.net 문제 해석 세 정수를 변수로 받고 세수의 합을 출력합니다. 풀이 문제의 조건을 보면 매우 큰 수도 연산에 포함해야 하기 때문에 대표적인 큰 수 연산 문제입니다. 타 프로그래밍 코드의 경우 데이터의 크기를 고려해야 하지만 파이썬은 일반적은 int형으로도 큰 수 연산이 가능합니다. a,b,c = input().split() print(int(a)+int(b)+int(c)) 역시나 input()으로 입력받고 공백문자를 가준으로 split()합니다. 이후 input()으로 받은 문자열 데이터를 ..