데이터사이언스 기록기📚

[백준/Python] 1138번(구현)_한 줄로 서기 본문

Coding Test/백준(Python)

[백준/Python] 1138번(구현)_한 줄로 서기

syunze 2023. 5. 6. 23:44

📌문제 유형

구현 (실버2)

 

📌문제

 

1138번: 한 줄로 서기

첫째 줄에 사람의 수 N이 주어진다. N은 10보다 작거나 같은 자연수이다. 둘째 줄에는 키가 1인 사람부터 차례대로 자기보다 키가 큰 사람이 왼쪽에 몇 명이 있었는지 주어진다. i번째 수는 0보다

www.acmicpc.net

 

📌나의 문제풀이

n = int(input())
left_hight = list(map(int,input().split()))
result = [0] * (n)

cnt = 0
for i in range(len(left_hight)):
    for j in range(len(result)):
        if result[j] == 0:
            if cnt == left_hight[i]:
                result[j] = i+1
                cnt = 0
                break
            else:
                cnt += 1

print(*result)

 

📌 다른사람의 문제풀이

 

[백준알고리즘] 1138번: 한 줄로 서기 -Python

[백준알고리즘] 1138번: 한 줄로 서기 -Python https://www.acmicpc.net/problem/1138 1138번: 한 줄로 서기 첫째 줄에 사람의 수 N이 주어진다. N은 10보다 작거나 같은 자연수이다. 둘째 줄에는 키가 1인 사람부터

suri78.tistory.com

n = int(input())
h = list(map(int, input().split()))
ans = [0] * n
for p in range(1, n+1):
    t = h[p-1]
    cnt = 0
    for i in range(n):
        if cnt == t and ans[i] == 0:
            ans[i] = p
            break
        elif ans[i] == 0:
            cnt += 1
print(*ans)

 

📌 리뷰 

- 구현은 직접 시뮬레이션 해보고 코드 작성하기

728x90
Comments