티스토리 뷰

제 깃허브에서도 동일한 코드를 찾으실 수 있습니다. :)

 

https://github.com/kmi0817/coding_test_practice/tree/main/baekjoon_step/step3


1. 구구단 (2739번)

  • 출력을 f 문자열(string)로 하니까 출력 형식이 잘못되었다고 나옵니다!
try :
    N = int(input())

    for i in range(1, 10) :
        print(N, "*", i, "=", N * i)
        # print(f"{N} * {i} = ", N * i)

except :
    print("입력이 잘못되었습니다.")

 

 

2. A+B - 3 (10950번)

try :
    cnt = int(input())

    ab_list = list()
    for i in range(cnt) :
        temp_a, temp_b = input().split()

        a = int(temp_a)
        b = int(temp_b)

        if a > 0 and b < 10 :
            ab_list.append(int(temp_a))
            ab_list.append(int(temp_b))
        else :
            print("수의 범위가 올바르지 않습니다.")
            break

    for i in range(0, cnt*2, 2) :
        print(ab_list[i] + ab_list[i+1])

except :
    print("입력이 잘못되었습니다")

 

 

3. 합 (8393번)

try :
    n = int(input())

    if n >= 1 and n <= 10000 :
        sum = 0
        for i in range(1, n+1) :
            sum += i
        print(sum)
    else :
        print("n의 범위가 잘못되었습니다.")

except :
    print("입력이 잘못되었습니다.")

 

 

4. 빠른 A+B (15552번)

  • sys.stdin.readline() : 반복하여 입력받을 때 속도가 느려지는 걸 방지합니다.
    • import sys 필요
    • 마지막에 개행문자\n가 포함되므로 문자열의 경우 rstrip() 사용하는 것이 바람직하다.
  • rstrip() : 문자열의 오른쪽에 있는 공백문자를 제거합니다.
import sys

try :
    T = int(input())

    ab_list = list()
    for i in range(T) :
        temp_a, temp_b = sys.stdin.readline().rstrip().split()
        a = int(temp_a)
        b = int(temp_b)

        if a >= 1 and a <= 1000 and b >= 1 and b <= 1000 :
            ab_list.append(a)
            ab_list.append(b)
        else :
            print("수의 범위를 확인하세요.")
            exit(1)
    
    for j in range(0, T*2, 2) :
        print(ab_list[j] + ab_list[j+1])
    

except :
    print('입력이 잘못되었습니다.')

 

 

5. N 찍기 (2741번)

try :
    N = int(input())

    if N >= 1 and N <= 100000 :
        for i in range(1, N+1) :
            print(i)
    else :
        print("N은 100,000 이하의 자연수입니다.")
except :
    print("입력이 잘못되었습니다.")

 

 

6. 기찍 N (2742번)

try :
    N = int(input())

    if N >= 1 and N <= 100000 :
        for i in range(N) :
            print(N-i)
    else :
        print("N은 100,000 이하의 자연수입니다.")
except :
    print("입력이 잘못되었습니다.")

 

 

7. A+B - 7 (11021번)

  • for index, element in enumerate(list, 인덱스 시작 번호) : 리스트의 원소와 인덱스 값 2개의 변수를 사용할 수 있습니다.
    • 인덱스 시작 번호 생략 가능하며, 생략 시 0부터 시작됩니다.
    • enumerate() 없으면 오류!
  • 문자열과 숫자를 함께 사용하려면, 숫자를 str()로 감싸 주어야 합니다.
try :
    T = int(input())

    ab_sum = list()
    for i in range(T) :
        temp_a, temp_b = input().split()
        a = int(temp_a)
        b = int(temp_b)
        if a > 0 and b < 10 :
            ab_sum.append(a+b)
        else :
            exit(1)
            
    for index, result in enumerate(ab_sum, 1) :
        print("Case #" + str(index) + ": " + str(result))

except :
    print("입력이 잘못되었습니다.")

 

 

8. A+B -8 (11022번)

2차원 리스트를 사용했는데 뭔가 코드가 깔끔하지 않은 느낌이라서 찝찝하네요...

try :
    T = int(input())

    ab_list = list()
    for i in range(T) :
        temp_a, temp_b = input().split()
        a = int(temp_a)
        b = int(temp_b)

        if a > 0 and b < 10 :
            ab_list.append([a, b])
        else :
            print("수의 범위를 확인해주세요.")

    for index, ab_pair in enumerate(ab_list, 1) :
        print("Case #" + str(index) + ": " + str(ab_pair[0]) + " + " + str(ab_pair[1]) + " = " + str(ab_pair[0] + ab_pair[1]))
except :
    print("입력이 잘못되었습니다.")

 

 

9. 별 찍기 - 1 (2438번)

  • 문자열 * 숫자를 하면, 숫자만큼 문자열이 출력됩니다.
try :
    N = int(input())

    if N >= 1 and N <= 100 :
        for i in range(1, N+1) :
            print("*" * i)
except :
    print("문제가 발생했습니다.")

 

 

10. 별 찍기 - 2 (2439번)

2개의 변수를 사용하는 for문으로 코드를 작성했습니다.

다른 프로그래밍 언어로 작성했다면 반복문의 인덱스 변수 값을 조작하는 걸 조금 고민해 봐야 했을 듯한데, 파이썬은 참 간단해요!

try :
    N = int(input())

    if N >= 1 and N <= 100 :
        for astr, blank in enumerate(range(N-1, -1, -1), 1) :
            print(" " * blank, end="")
            print("*" * astr)
    else :
        print("N은 1 이상 100 이하의 정수입니다.")
except :
    print("문제가 발생했습니다.")

 

 

11. X보다 작은 수 (10871번)

  • end="" : print()문 출력 후 마지막 내용 수정할 수 있습니다.
    • ex) end=" " - print()문 출력 후 개행문자\n 대신 띄어쓰기만 옵니다.
    • ex2) end="입니다." - print()문 출력 후 "입니다."를 출력합니다.
try :
    n, x = input().split()
    N = int(n)
    X = int(x)

    if N in range(1, 10001) and X in range(1, 10001) :
        temp_list = input().split()
        for e in temp_list :
            element = int(e)
            if element < X :
                print(element, end=" ")
        
    else :
        print("수의 범위를 확인하세요.")
except :
    print("문제가 발생했습니다.")

백준 단계별로 풀어보기 2단계 if문 파이썬 정답 코드는 아래 제 블로그 링크를 타고 가시면 나옵니다:)

https://thisismi.tistory.com/8

 

백준 단계별로 풀어보기 2단계 if문 파이썬 정답

제 깃허브에도 동일한 코드가 업로드 되어 있습니다 :) https://github.com/kmi0817/baekjoon_step/tree/main/step2 GitHub - kmi0817/baekjoon_step: 백준 홈페이지의 단계별로 풀어보기 코드입니다.https://www...

thisismi.tistory.com

 

728x90