본문 바로가기
Algorithm/BAEKJOON

[BAEKJOON] 알고리즘 분류_구현 (2741, 2577, 2750, 10817, 10250)

by noey_hus 2023. 5. 2.

# 2741 : N 찍기

IDEA

for문을 이용해서 출력한다.

풀이

n = int(input())

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

# 2577 : 숫자의 개수

IDEA

count 함수를 이용한다.

풀이

a = int(input())
b = int(input())
c = int(input())
n = str(a*b*c)

for i in range(10):
  print(n.count(str(i)))
  • count 함수
    • string.count(str, start, end)

 


# 2750 : 수 정렬하기

IDEA

sort 함수를 이용한다.

풀이

n = int(input())
n_list = list()

for i in range(n):
  n_list.append(int(input()))

n_list.sort()

for i in n_list:
  print(i)

# 10817 : 세 수

IDEA

sort 함수를 이용한다.

풀이

a, b, c = map(int, input().split())
n_list = [a, b, c]
n_list.sort()
print(n_list[1])

# 10250 : ACM 호텔

IDEA

수학적으로 생각하기!

풀이

T = int(input())

def find_room(H, W, N):
  h = (N-1)%H + 1
  w = (N-1)//H + 1
  result = h*100 + w
  return result
    
for i in range(T):
  H, W, N = map(int, input().split())
  print(find_room(H, W, N))
  • 처음엔 시뮬레이션 방식으로 풀려고 했는데, 시뮬레이션 하다보니 수학적 규칙이 있는 것을 발견했다.
  • 손님들을 Y01호부터 배정한다고 했을 때, N번째 사람에게 배정되어야하는 방의 번호는 N-1을 H로 나눈 몫에 1을 더한 값이다. (w)
  • N번째 사람에게 배정되어야하는 방의 층수는 N-1을 H로 나눈 나머지에 1을 더한 값이다. (h)