Baekjoon - 반복문

do yeon kim·2022년 6월 8일
0

반복문

2739번 구구단

#방법1
number = int(input())

for i in range(1,10):
    #print(i) #입력시 1,2,3,4,5,6,7,8,
    print(f"{number} * {i} = {i*number}")




#방법2
dan = int(input())
list(map((lambda a : print(f"{dan} * {a} = {dan * a}")), range(1,10)))

방법1
입력받은 값을 for-in 반복문을 활용해서 range객체 만큼 반복하게 만들며 곱하게 해서 구구단을 구현

방법2
사용자로부터 입력을 받는다.
map(함수, 순회가능데이터)lambda 매개변수 : 결과 를 활용해서 구현
map((lambda a(매개변수) : print( 사용자 입력 * a)) , range(1,10))

제일먼저 range객체에서 순서대로 1-9 까지의 수가 lambda의 매개변수로 들어간다. print()함수를 하나씩 출력

map()함수의 반환값은 map객체이므로 list()로 형변환을 해야지 결과를 알수 있다.

10950번 A+B-3

testcase_number = int(input())
result = []
for i in range(testcase_number): #총 testcase_number만큼 반복한다.
    a, b = input().split()
    temp = int(a) +int(b)
    result.append(temp)
    

for i in result:
    print(i)

1.처음 입력 받은 값으로 range객체 구현
2.range객체 수 만큼 for문을 돌면서 input()함수 호출
3.미리 만들어둔 배열에 두 수의 합을 append
4.결과리스트를 for문을 돌면서 하나씩 출력

8393 합
방법1
number = int(input())
count = 0
for i in range(1,number+1): #합은 1부터 시작한다. 그리고 총 갯수는 number 만큼이니까 number +1을 해준다.
    count += i
print(count)

방법2
print(sum(range(1, int(input())+1)))

방법1
초기값으로 count= 0을 주어서 한번 반복할때마다 count값을 초기화 해준다.

방법2
1.sum()의 인자로는 순회가능한 데이터가 들어간다.
2.range()객체를 이용해서 범위를 만들고 그 범위 안의 숫자를 sum을 이용해서 모두 더한다.

15552 빠른 A+B

import sys

number = int(sys.stdin.readline().rstrip())

result = []
for i in range(number):
    a, b = sys.stdin.readline().split()
    temp = int(a) +int(b)
    result.append(temp)

for i in result:
    print(i)

sys.stdin.readline을 사용할 수있다. 맨 끝의 개행문자까지 같이 입력받기 때문에 문자열을 저장하고 싶을 경우 .rstrip()을 추가로 해 주는 것이 좋다.
개행문자가 포함되면
a
개행문자
b
개행문자
위와 같이 출려된다.

2741번 N 찍기

방법1 
number = int(input())

for i in range(1, number +1):
    print(i)


방법2
list(map((lambda a : print(a)), range(1, int(input())+1)))

2742 기찍 N
방법1
number = int(input())
for i in range(number, 0, -1):
    print(i)


방법2
list(map((lambda a : print(a)), range(int(input()), 0, -1) ))

range객체에 옵션값을 주기
range(시작값, 끝값, 증감값);
시작값은 포함하되 끝값은 포함하지 않는다.

range(1,5) => 1,2,3,4
range(5,1,-1) => 5,4,3,2

11021번 A+B - 7
number = int(input())

result = []
for i in range(number):
    # temp = list(sum(map(int, input().split())))
    temp = sum(list(map(int, input().split())))
    result.append(temp)


for i in range(1, number+1):
    print(f"Case #{i}: {result[i-1]}")
11022번 A+B - 8

number = int(input())

for i in range(1, number+1):
    a, b = map(int, input().split())
    print(f"Case #{i}: {a} + {b} = {a+b}")

2438번 별 찍기 - 1
number = int(input())

for i in range(1, number+1):
    print("*"*i)
2439번 별 찍기 - 2

number = int(input())

count = number-1

for i in range(1, number+1):
    print(" "*count + "*"*i)
    count = count - 1
10871번 X보다 작은 수
방법1
a, b = map(int, input().split())
c = list(map(int, input().split()))

for i in c:
    if i <  b:
        print(i, end=" ")


방법2
while True:
    a, b = map(int, input().split())
    c = list(map(int, input().split()))
    if len(c) > a:
        continue
    
    else:
        for i in c:
            if i <  b:
                print(i, end=" ")
        break
        
10952번 A+B - 5

while True:
    a, b = map(int, input().split())

    if a != 0 and b != 0:
        print(a+b)
    else:
        break
    
10951번 A+B - 4
while True:
    try:
        a, b = map(int, input().split())
        print(a+b)
    
    except EOFError :
        break
                    
    
1110번 더하기 사이클

a = input()  # 사용자로부터 입력받는다.
new_word = a # while문 안에서 쓰일 사용자로 부터 받은 입력
count = 0 # 몇번 반복하는지 확인 하는 변수

while True: #몇번 반복할 지 모르니까 while문으로 무한반복
    
    if int(new_word)>=10:  #입력받은 수가 두자리 수인지 
        b = int(new_word)//10 + int(new_word)%10      
        new_word = str(int(new_word)%10) + str(int(b)%10)
       
    elif int(new_word)<10:  #입력받은 수가 한자리수
        new_word = "0" + str(int(new_word)%10)   
        b = int(new_word)//10 + int(new_word)%10   
        new_word = str(int(new_word)%10) + str(int(b)%10)
        
    if int(a) == int(new_word):  # 또다른 if문으로 조건 확인
        count = count + 1
        break
    else:
        count = count + 1

print(count)


0개의 댓글