[알고리즘 연습]-오큰수(python)

1. 문제링크

[오큰수] - https://www.acmicpc.net/problem/17298

2. 풀이 전 생각

문제의 난이도가 크게 어렵지 않다고 생각하였고, 잘 풀수 있을것 같았다.

3. 풀이

import sys
t = int(sys.stdin.readline())
num = list(map(int, sys.stdin.readline().split()))

for i in range(0, t):
    cur = num.pop(0)
    for j in range(len(num)):
        if cur < num[j]:
            print(num[j])
            break
    else:
        print(-1)

입력한 숫자를 리스트안에 넣고 각 숫자들을 비교 분석하여 결과를 도출하는 방식으로 리스트의 길이만큼 반복하면서 pop함수로 숫자를 빼주고 뺀 숫자를 나머지 숫자들과 비교한다. pop()을 그냥 쓰다가 뒷번호부터 빠지길래 pop(0)으로 고정시켜 버렸다.(이렇게 하는게 맞는지는 모르겠지만..)

4. 풀이하면서 고민했던 점

생각보다 푸는데 많은 시간이 걸렸는데, 반복문이 좀 헷갈렸던 것 같다. 이중 반복문을 쓰면서 어떤 식으로 반복이 되는지 잘 몰랐던것 같고 중간중간 print를 넣어 어떻게 반복되는지 보면서 차근차근 풀어나갔다.

5. 문제를 풀고 난 소감

기본기를 좀 더 탄탄하게 익히고 문제에 접근하면 더 수월해지지 않을까 생각했고, 공부를 많이 해야겠다.

좋은 웹페이지 즐겨찾기