아.. 어렵다..수업이 9 to 6 인데,
쉬는시간 10분, 점심시간 1시간 해서
강사님도 나도 지치는 것 같다.
오늘 처음으로 졸았다.. ㅋㅋ
내용도 슬슬 처음 들었던 기본강의에서 제대로 다루지 않았거나
디테일한 부분들도 나오고, 특히 중요한데 어려운 개념들이라, 집중해서 듣는데 힘들다.
어쨌든 이해는 얼추한 듯 하기도 하고..
2741 - N 찍기
(https://www.acmicpc.net/problem/2741)
문제
자연수 N이 주어졌을 때, 1부터 N까지 한 줄에 하나씩 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 100,000보다 작거나 같은 자연수 N이 주어진다.
출력
첫째 줄부터 N번째 줄 까지 차례대로 출력한다.
for문!
1
2
3
4
|
N = int(input())
for i in range(1, N+1):
print(i)
|
cs |
2742 - 기찍 N
(https://www.acmicpc.net/problem/2742)
문제
자연수 N이 주어졌을 때, N부터 1까지 한 줄에 하나씩 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 100,000보다 작거나 같은 자연수 N이 주어진다.
출력
첫째 줄부터 N번째 줄 까지 차례대로 출력한다.
이전에 썼던 함수를 바로 응용했다.
1
2
3
4
|
N = int(input())
for i in range(N, 0, -1):
print(i)
|
cs |
11021 - A + B - 7
(https://www.acmicpc.net/problem/11021)
문제
두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 테스트 케이스의 개수 T가 주어진다.
각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 < A, B < 10)
출력
각 테스트 케이스마다 "Case #x: "를 출력한 다음, A+B를 출력한다. 테스트 케이스 번호는 1부터 시작한다.
어디에 뭘 입력하는 지 집중했다.
1
2
3
4
5
|
T = int(input()) #첫째 줄에 테스트 케이스의 개수 T가 주어진다
for i in range(1, T+1): #각 줄(T만큼)에
A, B = map(int,input().split()) #두 정수 A, B를 입력받는다.
print(f'Case #{i}:', (A+B)) #1부터 T번까지 케이스 : A+B를 출력한다.
|
cs |
11022 - A + B - 8
(https://www.acmicpc.net/problem/11022)
문제
두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 테스트 케이스의 개수 T가 주어진다.
각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 < A, B < 10)
출력
각 테스트 케이스마다 "Case #x: A + B = C" 형식으로 출력한다. x는 테스트 케이스 번호이고 1부터 시작하며, C는 A+B이다.
이전문제 + f 스트링을 이용했다.
1
2
3
4
5
|
T = int(input()) #첫째 줄에 테스트 케이스의 개수 T가 주어진다
for i in range(1, T+1): #각 줄(T만큼)에
A, B = map(int,input().split()) #두 정수 A, B를 입력받는다.
print(f'Case #{i}: {A} + {B} =', (A+B)) #1부터 T번까지 케이스 : A + B = C를 출력한다.
|
cs |
2438 - 별 찍기
(https://www.acmicpc.net/problem/2438)
문제
첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제
입력
첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다.
출력
첫째 줄부터 N번째 줄까지 차례대로 별을 출력한다.
개행은 알아서 해주니, 바로 출력했다.
1
2
3
4
|
N = int(input()) #첫째 줄에 N이 주어진다.
for i in range(1, N+1): #1부터 N까지
print('*' * i) #*을 i만큼 출력한다.
|
cs |
2439 - 별찍기 - 2
(https://www.acmicpc.net/problem/2439)
문제
첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제
하지만, 오른쪽을 기준으로 정렬한 별(예제 참고)을 출력하시오.
입력
첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다.
출력
첫째 줄부터 N번째 줄까지 차례대로 별을 출력한다.
처음에 틀렸었다. 맞는데 왜 틀리지? 했지만,
1
2
3
4
5
|
N = int(input()) #첫째 줄에 N이 주어진다.
#오른쪽 기준으로 정렬 = N칸 만큼 공간이 있다.
for i in range(1, N+1): #1부터 N까지
print((' '*(N-i)), ('*' * i)) #*을 i만큼 출력하되, 왼쪽에 N-i만큼의 공백을 넣어준다.
|
cs |
응~ 이러면 앞에 공백 하나 더 생겨
-> print문의 , 로 인해서 한칸이 더 생겨버리는 것이었다.
문제를 파악 후 다시 보완.
1
2
3
4
5
6
7
|
N = int(input()) #첫째 줄에 N이 주어진다.
#오른쪽 기준으로 정렬 = N칸 만큼 공간이 있다.
star = 0 #*의 갯수를 받아 줄 변수를 선언한다.
for i in range(1, N+1): #1부터 N까지
star = ('*' * i) #star = 순서에 맞게 *을 가진다.
print(f"{' '*(N-i)}{star}") #N-i개의 공백을 왼쪽에 삽입하여 프린트한다.
#print(' '*(N-i), ('*' * i))로 해보려 했는데, 공백이 한칸 더 생겨서 이렇게 함.
|
cs |
구구절절하구만.
10871 - X보다 작은 수
(https://www.acmicpc.net/problem/10871)
문제
정수 N개로 이루어진 수열 A와 정수 X가 주어진다. 이때, A에서 X보다 작은 수를 모두 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 N과 X가 주어진다. (1 ≤ N, X ≤ 10,000)
둘째 줄에 수열 A를 이루는 정수 N개가 주어진다. 주어지는 정수는 모두 1보다 크거나 같고, 10,000보다 작거나 같은 정수이다.
출력
X보다 작은 수를 입력받은 순서대로 공백으로 구분해 출력한다. X보다 작은 수는 적어도 하나 존재한다.
A를 어떻게 받는다는 건지 이해를 못 하다가 구글의 도움을 빌렸다.
1
2
3
4
5
6
7
|
N, X = map(int,input().split()) #첫째 줄에 정수 N과 X가 주어진다.
A = list(map(int,input().split())) #수를 입력 받을 수열 A를 정의한다. /한 개씩 입력이 아니라 한 방에 N개 들어옴 - 구글링함
for i in range(N): #0 ~ N-1 까지 (N번 동안)
if A[i] < X: #A[i]값이 X보다 작으면
print(A[i], end=' ') #개행하지 않고 그 값을 프린트한다.
|
cs |
개행하지 않고 + 공백 넣어서
어우 힘들어..
잔나비 보러가야지..
3번 테마의 11번째까지 총 31개 풀었어.
앞으로 354개의 문제가 남았어. (8.1%)
'PS > BOJ' 카테고리의 다른 글
(백준, 파이썬) 다이나믹 뙤약볕 (0) | 2022.05.29 |
---|---|
(백준, 파이썬) 내가 이겼다 + 단계 별 10% 달성 (3) | 2022.05.28 |
(백준, 파이썬) 새롭지만 어려운 것 (0) | 2022.05.26 |
(백준, 파이썬) 45분 이전에 구워진 오븐 치킨 세개 (0) | 2022.05.25 |
(백준, 파이썬) 여러개 + 첫 현강 (0) | 2022.05.24 |