Data Scientist 옌

매일 발전하는 IT문제해결사

Programing 프로그래밍/코딩테스트 문제풀이

[백준] 7단계: 기본 수학1까지 추가 문제 수정 업로드

옌炎 2023. 2. 8. 17:40
728x90

오늘따라 시간이 좀 남아서 추가된 문제를 풀었습니다.

1. [3003] 킹, 퀸, 룩, 비숍, 나이트, 폰 - 1단계: 입출력과 사칙연산

동혁이는 오래된 창고를 뒤지다가 낡은 체스판과 피스를 발견했다. 체스판의 먼지를 털어내고 걸레로 닦으니 그럭저럭 쓸만한 체스판이 되었다. 하지만, 검정색 피스는 모두 있었으나, 흰색 피스는 개수가 올바르지 않았다. 체스는 총 16개의 피스를 사용하며, 킹 1개, 퀸 1개, 룩 2개, 비숍 2개, 나이트 2개, 폰 8개로 구성되어 있다. 동혁이가 발견한 흰색 피스의 개수가 주어졌을 때, 몇 개를 더하거나 빼야 올바른 세트가 되는지 구하는 프로그램을 작성하시오.

a = list(map(int, input().split()))
correct = [1, 1, 2, 2, 2, 8]

answer = []
for i, j in zip(a, correct):
    answer.append(str(j-i))
    print(str(j-i), end=' ')

2. [25083] 새싹 - 1단계: 입출력과 사칙연산

아래 예제와 같이 새싹을 출력하시오.

print("""         ,r'"7
r`-_   ,'  ,/
 \\. ". L_r'
   `~\\/
      |
      |""")

3. [25304] 영수증 - 3단계: 반복문

준원이는 저번 주에 살면서 처음으로 코스트코를 가 봤다. 정말 멋졌다. 그런데, 몇 개 담지도 않았는데 수상하게 높은 금액이 나오는 것이다! 준원이는 영수증을 보면서 정확하게 계산된 것이 맞는지 확인해보려 한다. 영수증에 적힌,

  • 구매한 각 물건의 가격과 개수
  • 구매한 물건들의 총 금액

을 보고, 구매한 물건의 가격과 개수로 계산한 총 금액이 영수증에 적힌 총 금액과 일치하는지 검사해보자.

total = int(input())

price = 0
for i in range(int(input())):
    a, b = map(int, input().split())
    price += a*b
    
print('Yes') if price == total else print('No')

4.  [10807] 개수 세기 - 4단계: 1차원 배열

총 N개의 정수가 주어졌을 때, 정수 v가 몇 개인지 구하는 프로그램을 작성하시오.

total = input()
a = list(map(int, input().split()))
int_v = int(input())
find = [x for i, x in enumerate(a) if x == int_v]
print(len(find))

5. [5597] 과제 안 내신 분..? - 4단계: 1차원 배열

X대학 M교수님은 프로그래밍 수업을 맡고 있다. 교실엔 학생이 30명이 있는데, 학생 명부엔 각 학생별로 1번부터 30번까지 출석번호가 붙어 있다. 교수님이 내준 특별과제를 28명이 제출했는데, 그 중에서 제출 안 한 학생 2명의 출석번호를 구하는 프로그램을 작성하시오.

all_s = set([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30])
student = []
for i in range(1,29):
    student.append(int(input()))
undue = list(set(all_s - set(student)))
undue.sort()
for j in undue:
    print(j)

6. [2839] 설탕 배달 - 7단계: 기본 수학1

상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그램 봉지와 5킬로그램 봉지가 있다. 상근이는 귀찮기 때문에, 최대한 적은 봉지를 들고 가려고 한다. 예를 들어, 18킬로그램 설탕을 배달해야 할 때, 3킬로그램 봉지 6개를 가져가도 되지만, 5킬로그램 3개와 3킬로그램 1개를 배달하면, 더 적은 개수의 봉지를 배달할 수 있다. 상근이가 설탕을 정확하게 N킬로그램 배달해야 할 때, 봉지 몇 개를 가져가면 되는지 그 수를 구하는 프로그램을 작성하시오.

N = int(input())
if N % 5 == 0: # 5로 나누어 떨어질 때
    print(N // 5)
else:
    p = 0
    while N > 0:
        p += 1
        N -= 3
        if N % 5 == 0: # 3과 5의 조합으로 나누어 떨어질 때
            p += N // 5
            print(p)
            break
            
        elif N == 1 or N == 2: # 나누어지지 않을 때
            print(-1)
            break
            
        elif N == 0: # 3으로 나누어 떨어질 때
            print(p)
            break

7. [10757] 큰 수 A+B - 7단계: 기본 수학1

두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.

A, B = map(int, input().split())
print(A+B)
728x90