백준 단계별로 풀어보기 - 3단계: 반복문 코드 리뷰

Kim So-Myoung·2024년 2월 15일
0
post-thumbnail

3단계: 반복문

  • for문
for 변수 in range(시작값, 끝값, 증감크기):
  실행문

변수가 (시작값) 부터 (끝값-1) 까지 (증감크기) 간격으로 증가하면서 실행문을 실행

for i in range (1,10) #출력값: 1/2/3/4/5/6/7/8/9
for i in range (10) #출력값: 0/1/2/3/4/5/6/7/8/9
for i in range (0,10,2) #출력값: 0/2/4/6/8
for i in range (3,0,-1) #출력값: 3/2/1
  • sum 함수
print(sum(range(1, int(input())+1))) # 1 ~ int(input()) 입력 값 까지의 합

range(시작값, 끝값) = 시작값 ~ 끝값 -1

25314: 코딩은 체육과목 입니다

n = int(input())
longstr = ''

for i in range(n//4):
    longstr += 'long '
    
longstr = longstr[:-1] # 문자열 끝 공백 제거, 슬라이싱 이용
# print(f'{longstr.rstrip()} int') rstrip 오른쪽 공백 제거
print(f'{longstr} int')

+) 다른 방법

lstrip(), rstrip(), strip() -> 왼쪽 공백 제거/오른쪽 공백 제거/양쪽 공백 제거
lstrip('0'), rstrip('0'), strip('0') -> 왼쪽 동일 문자 0 제거/오른쪽 제거/양쪽 제거

15552: 빠른 A+B

import sys
num = int(sys.stdin.readline())
for i in range(num):
    a, b = map(int, sys.stdin.readline().split())
    print(a+b)

import sys 선언 후 input()을 sys.stdin.readline()로 변경, 문자열은 rstrip()로 오른쪽 공백 제거해주기

  • f-string 정렬
py# f-string 왼쪽 정렬
s1 = 'left'
result1 = f'|{s1:<10}|'
print(result1)
 
# f-string 가운데 정렬
s2 = 'mid'
result2 = f'|{s2:^10}|'
print(result2)
 
# f-string 오른쪽 정렬
s3 = 'right'
result3 = f'|{s3:>10}|'
print(result3)

결과

|left      |
|   mid    |
|     right|

2439: 별 찍기 2

num = int(input())

for i in range(1, num+1):
    print(f'{"*" * i:>{num}}')

{}를 감싸는 문자열이 "일 경우 {}안은 '', ''일경우 "" -> 다르게 구분 짓기
{변수:<출력 문자열 길이}에서 출력 문자열 길이에 숫자가 아닌 변수를 써줄경우 {}안에 표현해야 한다.

추가 표현

print(f"정수 : {put_int:20}") # 20자리를 비운 후 오른쪽 정렬<br>
>>> 정수 :                  256

:< 왼쪽 정렬 후 로 채움

  • 무한루프
while True:
while 1:
  • try except 구문
try:
	예외가 발생할 가능성이 있는 코드

except:
	예외가 발생했을 때 실행할 코드
    (필요에 따라 except 절을 추가로 작성)

10951: A+B - 4

while True:
  try:
    a, b = map(int, input().split())
    print(a+b)
  except:
    break
profile
Full-Stack Engineer

0개의 댓글