말랑말랑제리스타일
파이썬으로 백준 for문 문제 풀기 2 본문
백준 알고리즘 for문 문제 2742,11021,11022,2438,2439,10871 답안 예시
백준 알고리즘 for문 문제 2742,11021,11022,2438,2439,10871 정답 코드 및 설명입니다.
혹시나 여기 없는 문제의 경우 for문 문제 1번 글에서 언급했을 수 있으니 참고 바랍니다.
백준 2742번 역순 출력
파이썬에서 백준 2742번 같은 류의 코딩은 상당히 간편합니다. range 기능을 이용해 N부터 i가 0보다 클 때까지 감소시켜주면 되죠.
N = int(input())
for i in range(N,0,-1):
print(i)
range 기능에서 -1을 생략하면 증가 연산이 되고 이런 경우 오답 처리가 될 수 있으니 참고 바랍니다.
그 외에 특별한 점은 없고 이해가 잘 안 된다면 앞에 글의 2741번 해설을 봐주시면 될 것 같습니다.
백준 11021 합계와 인덱스 출력
백준 11021번 문제의 계산 로직은 여러 개의 두 수를 입력받아서 합산한 값을 출력해주는게 다인 문제입니다.
N = int(input())
i_Arr = []
while N:
i_Arr.append(list(map(int,input().split())))
N -= 1
for index,value in enumerate(i_Arr):
sum = 0
for j in value:
sum += j
print("Case #{}: {}".format(index + 1,sum))
다만 파이썬에서 다소 난해한 점은 입력과 출력 포맷과 인덱스입니다.
파이썬 리스트를 enumerate로 변환해서 값과 인덱스를 동시에 가져오는 방법, input 값을 나누어서 리스트 형태로 저장하는 방법이 관건인 문제죠.
이 방법에 관해서 아래 링크로 걸어놓은 파이썬 여러개 입력받고 출력하기 글에서 자세히 설명해두었습니다.
이 글 마지막에는 백준 11022번 답까지 있으니 내용을 본 뒤 마지막에 있는 백준 11022번 문제까지 따라 풀어보시면 될 것 같습니다.
백준 2438번 별 찍기
백준 2438번 문제는 for문 배울 때 항상 나오는 별 찍기 문제입니다.
그중 백준 2438번은 별을 순차적으로 1개, 2개...로 각각 한 줄에 출력하는 문제죠.
N = int(input())
str = ""
for i in range(N):
str += "*"
print(str)
빈 문자열인 str 변수를 생성하고 *을 하나 붙여 출력하고 하나 더 붙여 출력하는 형식으로 총 N번 반복하도록 하면 백준 2438번에서 원하는 답을 얻을 수 있습니다.
백준 2439번 역순 별 찍기
백준 2439번 역순 별 찍기 문제는 2438번보다 어려울 것 같지만 파이썬에서는 상당히 간단한 문제입니다.
N = int(input())
str = ""
for i in range(N):
str += "*"
print(str.rjust(N))
출력 문자열의 길이를 정해주고 우측으로 밀어주는 rjust 함수만 사용하면 백준 2438번 문제 답에서 마지막 한 줄만 바꾸면서 백준 2439번 역순 별 찍기 문제도 해결이 가능합니다.
백준 10871번 문자열 파싱과 한 줄에 출력
백준 10871번 문제의 관건은 입력 문자열을 파싱 해서 간단한 연산을 한 뒤 한 줄에 출력하는 문제입니다.
N,X = map(int,input().split())
i_Arr = list(map(int,input().split()))
for i in i_Arr:
if i < X:
print(i,end = ' ')
먼저 백준 10871의 문자열 파싱은 변수 두 개에 map을 이용해서 split 된 문자열을 int로 저장하거나 리스트형으로 치환해 하나의 리스트로 저장하는 방법을 사용할 수 있습니다.
한 줄에 출력하는 방법으로는 파이썬에서 기본적으로 print(문자열) 형태를 사용하면 end에 default 값으로 \n 즉, 줄바꿈 문자로 되어있기 때문에 end 값을 공백으로 바꿔주면서 print 함수로 한줄에 출력하는 게 가능합니다.
여기까지 백준 알고리즘 문제 중 for 문 문제에 대한 파이썬 코드 해석을 마칩니다.
'프로그래밍 > 백준 알고리즘' 카테고리의 다른 글
백준 10818번 파이썬으로 반복문 없이 풀기 (0) | 2022.02.14 |
---|---|
백준 알고리즘 while문 문제 3개 해설 (0) | 2022.02.11 |
파이썬으로 백준 for문 문제 풀기 1 (0) | 2022.02.10 |
파이썬에서 여러개 입력받아서 여러개 출력하기 (0) | 2022.02.10 |
[파이썬]백준11729번 하노이탑 재귀함수로 풀기 (1) | 2022.01.14 |