10818번: 최소, 최대 첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다. www.acmicpc.net N = int(input()) num = list(map(int, input().split())) print(min(num), max(num)) *key point: list를 이용해 임의의 개수의 변수들을 입력 받을 수 있도록 한다. min, max라는 내장 함수를 이용하여 간단하게 코드를 짤 수 있다. *min, max 없이도 리스트의 요소를 비교, 혹은 리스트를 정렬 하는 등의 방법을 이용하여 문제를 해결할 수도 있다.
1110번: 더하기 사이클 0보다 크거나 같고, 99보다 작거나 같은 정수가 주어질 때 다음과 같은 연산을 할 수 있다. 먼저 주어진 수가 10보다 작다면 앞에 0을 붙여 두 자리 수로 만들고, 각 자리의 숫자를 더한다. 그 다음, www.acmicpc.net N = int(input()) N_origin = N i = 0 while True: i += 1 N1 = (N // 10) + (N % 10) N2 = ((N % 10) * 10) + (N1 % 10) if N2 == N_origin: break else: N = N2 print(i) *key point: 산술연산자를 잘 활용하여 주어진 계산을 수행하고, 미리 변수 하나에 저장해 둔 기존값과 비교하여 반복문을 빠져나오도록 한다. 반복 횟수를 출력..
10951번: A+B - 4 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net while True: try: A, B = map(int, input().split()) print(A + B) except: break *key point: try, except문을 활용하여 두개의 정수가 입력되지 않은 경우 에러가 발생하면 반복문을 빠져나가도록 한다.
10952번: A+B - 5 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net while True: A, B = map(int, input().split()) if A == 0 and B == 0: break else: print(A + B) *key point: while문의 조건을 참으로 두어 계속 반복시킨 뒤 A와 B가 모두 0인 경우에만 반복문을 빠져나오도록 한다.
10871번: X보다 작은 수 첫째 줄에 N과 X가 주어진다. (1 ≤ N, X ≤ 10,000) 둘째 줄에 수열 A를 이루는 정수 N개가 주어진다. 주어지는 정수는 모두 1보다 크거나 같고, 10,000보다 작거나 같은 정수이다. www.acmicpc.net N, X = map(int, input().split()) num = list(map(int, input().split())) for i in range(N): if num[i] < X: print(num[i], end=" ") *key point: 반복문과 조건문을 함께 이용하는 문제이다. 입력값이 몇 개가 될 지 모르기 때문에 list를 활용해준다. print 함수를 사용할 때는 end 속성을 바꾸어주면 출력 후 줄바꿈이 아니라 공백이 출력된다.
2439번: 별 찍기 - 2 첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제 하지만, 오른쪽을 기준으로 정렬한 별(예제 참고)을 출력하시오. www.acmicpc.net N = int(input()) for i in range(1, N + 1): print(' ' * (N-i) + '*' * i) *key point: 이전 문제를 조금 더 응용한 것 뿐이다. 두 문자열을 더하면 이어지는 것을 이용한다.
11022번: A+B - 8 각 테스트 케이스마다 "Case #x: A + B = C" 형식으로 출력한다. x는 테스트 케이스 번호이고 1부터 시작하며, C는 A+B이다. www.acmicpc.net T = int(input()) for i in range(1, T+1): A, B = map(int, input().split()) print(f'Case #{i}: {A} + {B} = {A + B}') *key point: 이전 문제와 같이 풀면 된다. f-string을 활용할 때 변수간 연산도 가능하다. 또한 직관적으로 알아볼 수 있도록 range 범위를 설정해주는 것이 편하다.
11021번: A+B - 7 각 테스트 케이스마다 "Case #x: "를 출력한 다음, A+B를 출력한다. 테스트 케이스 번호는 1부터 시작한다. www.acmicpc.net T = int(input()) for i in range(T): A, B = map(int, input().split()) print(f'Case #{i+1}:', A + B) *key point: f-string을 활용하여 문자열 안에 변수를 넣는다.
2742번: 기찍 N 자연수 N이 주어졌을 때, N부터 1까지 한 줄에 하나씩 출력하는 프로그램을 작성하시오. www.acmicpc.net N = int(input()) for i in range(N): print(N - i) *key point: N과 i값을 활용해 답을 얻는다. range 함수를 활용하면 좀 더 직관적인 답을 낼 수 있다. 문제가 복잡한 경우 이를 활용하는 것이 훨씬 유용할 것이다. N = int(input()) for i in range(N, 0, -1): print(i)
- Total
- Today
- Yesterday
- 24313
- programmer
- 백준
- 코육대
- 벡준
- 17103
- 2053
- 2738
- til
- 10807
- 25192
- 24060
- 13909
- 24723
- 5597
- 26069
- SQL
- 25501
- 13241
- 2587
- MySQL
- 20920
- Programmers
- 2903
- Python
- 항해 플러스
- 4134
- 1269
- Wil
- 항해+
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |