n = int(input().strip())

# 방법1
for i in range(n):
    change = int(input().strip())
    q = int(change // 25)
    change -= q * 25
    d = int(change // 10)
    change -= d * 10
    n = int(change // 5)
    change -= n * 5
    p = int(change / 1)

    print(q, d, n, p)

# 방법2
coin = [25,10,5,1]
for _ in range(n):
    data = int(input().strip())
    result = [0,0,0,0]

    for i in range(4):
        change = data // coin[i]
        result[i] += change
        data -= coin[i] * change
    print(*result)
반응형

'알고리즘' 카테고리의 다른 글

[백준] 2750 수 정렬하기  (0) 2023.10.17
[백준] 행렬 덧셈  (2) 2023.10.17
[백준] 2675 문자열반복  (0) 2023.10.17
2630 색종이 만들기  (0) 2023.10.17
[백준] 2563 색종이  (0) 2023.10.17
n = int(input())

for i in range(n):
    num , word = input().split()
    result = list(map(lambda x: x * int(num), list(word))) # 단어의 한글자씩 가져와서 num 번 곱해준뒤, list 에 담기
    print(''.join(result))
반응형

'알고리즘' 카테고리의 다른 글

[백준] 행렬 덧셈  (2) 2023.10.17
[백준] 2720 세탁소 사장 동혁  (2) 2023.10.17
2630 색종이 만들기  (0) 2023.10.17
[백준] 2563 색종이  (0) 2023.10.17
[백준]2562 최댓값  (0) 2023.10.17
def make_paper(x,y,n, paper):
    global white, blue

    divide_paper = paper[x][y]
    for i in range(x,x+n):  # x ~ x+n 의 영역에서 색깔을 확인한다
        for j in range(y,y+n): # y ~ y+n 의 영역에서 색깔을 확인한다
            if divide_paper != paper[i][j]:
                divide_paper = -1
                break

    if divide_paper == 0:
        white += 1
    elif divide_paper == 1:
        blue += 1
    else:
        n = n//2 # 입력크기//2 의 크기만큼 계속해서 영역을 좁혀가면 색깔을 확인한다
        make_paper(x,y,n, paper)
        make_paper(x,y+n,n, paper)
        make_paper(x+n, y,n, paper)
        make_paper(x+n, y+n,n, paper)

n = int(sys.stdin.readline())
paper = [list(map(int,sys.stdin.readline().rstrip().split())) for _ in range(n)]

white, blue = 0, 0
make_paper(0,0,n, paper) # (0,0) 부터, 색종이의 색깔 확인

print(white,blue, sep='\n')
반응형

'알고리즘' 카테고리의 다른 글

[백준] 2720 세탁소 사장 동혁  (2) 2023.10.17
[백준] 2675 문자열반복  (0) 2023.10.17
[백준] 2563 색종이  (0) 2023.10.17
[백준]2562 최댓값  (0) 2023.10.17
[백준] 2231 분배합  (0) 2023.10.17
n = int(input())
area = []

for _ in range(n):
    x,y = map(int,input().split())
    for i in list(range(x, x + 10)):
        for j in list(range(y, y + 10)):
            area.append((i,j)) # 도화지 위의 색종이가 존재하는 영역(x,y좌표)를 모두 list 에 담음. 이때는 중복되는 영역도 모두 함께 list에 담음

print(len(set(area))) # 겹치는 영역은(x,y 좌표) set 으로 중복제거함
반응형

'알고리즘' 카테고리의 다른 글

[백준] 2675 문자열반복  (0) 2023.10.17
2630 색종이 만들기  (0) 2023.10.17
[백준]2562 최댓값  (0) 2023.10.17
[백준] 2231 분배합  (0) 2023.10.17
[백준] 1934 최소공배수  (0) 2023.10.17
import sys

data = [int(sys.stdin.readline().strip()) for _ in range(9)]

print(max(data))
print(data.index(max(data))+1) # list 의 index는 0부터 시작하므로 1더해주기
반응형

'알고리즘' 카테고리의 다른 글

2630 색종이 만들기  (0) 2023.10.17
[백준] 2563 색종이  (0) 2023.10.17
[백준] 2231 분배합  (0) 2023.10.17
[백준] 1934 최소공배수  (0) 2023.10.17
[백준] 1929 소수구하기  (0) 2023.10.17
n = int(input())

result = 0
for i in range(1,n):

    if sum(list(map(int,list(str(i))))) + i == n: # 입력받은 n 을 한글자씩 쪼개서 모두 더하기 + 입력받은 n
        result = i
        break

print(result )
반응형

'알고리즘' 카테고리의 다른 글

[백준] 2563 색종이  (0) 2023.10.17
[백준]2562 최댓값  (0) 2023.10.17
[백준] 1934 최소공배수  (0) 2023.10.17
[백준] 1929 소수구하기  (0) 2023.10.17
[백준] 1546 평균  (0) 2023.10.17
n = int(input())
result = []
for i in range(n):
    a,b = map(int, input().split())
    max_num, min_num = max(a,b) , min(a,b)
    diff = max_num % min_num

    while diff != 0 :
        max_num = min_num
        min_num = diff
        diff = max_num % min_num

    result.append(int((a*b)/min_num))

print(*result, sep='\n')
반응형

'알고리즘' 카테고리의 다른 글

[백준]2562 최댓값  (0) 2023.10.17
[백준] 2231 분배합  (0) 2023.10.17
[백준] 1929 소수구하기  (0) 2023.10.17
[백준] 1546 평균  (0) 2023.10.17
[백준]1436 영화감독 숌  (0) 2023.10.17
import math

n, m =  map(int, input().split())
result = set(range(n,m+1))

for i in range(2, int(math.sqrt(m))+1): # 2 ~ 루트M(=M의 약수들 중에서 중간값) 까지 증가시킨다. (<-에라토스테네스의 체 방식)
    remove_element = set(range(i,m+1,i)) # 2~ 루트M까지의 수의, 배수 set 을 생성
    remove_element.discard(i)
    result = result - remove_element # 2~ 루트M까지의 수의, 배수를 제거한다

result.discard(1) # 1이 포함되어있을 경우 삭제하기
result = sorted(list(result)) # 오름차순 정렬하기

print(*result, sep='\n')
반응형

'알고리즘' 카테고리의 다른 글

[백준] 2231 분배합  (0) 2023.10.17
[백준] 1934 최소공배수  (0) 2023.10.17
[백준] 1546 평균  (0) 2023.10.17
[백준]1436 영화감독 숌  (0) 2023.10.17
[백준]1157 단어공부  (0) 2023.10.17

+ Recent posts