코딩테스트 준비 Day 3

Seok·2023년 2월 16일
0

[백준: 1436] 영화감독 숌

# 난이도: 실버 5
# 알고리즘 유형: 브루트포스

"""
시작시간: 02:56
종료시간: 03:05
"""

n = int(input())
# 666이 들어가는 숫자 확인용, 666이 들어간 숫자 카운트
num, cnt = 0, 0

# 666이 들어간 숫자가 n번째이면 멈춤
while cnt < n:
    # num에 1씩 더해가며 666이 들어있다면 cnt를 1씩 추가
    num += 1
    if "666" in str(num):
        cnt += 1

print(num)

[백준: 1874] 스택 수열

# 난이도: 실버 2
# 알고리즘 유형: 자료구조, 스택

"""
시작시간: 03:07
종료시간: 03:25
"""

n = int(input())
# 정답 체크 리스트
check_arr = [int(input()) for _ in range(n)]
# 쌓을 리스트
stack_arr = [0]
# push, pop을 기록할 리스트
answer = list()

# 체크 리스트 index 확인, stack 리스트에 넣을 숫자
idx, st_num = 0, 1
# 인덱스가 n미만, 넣을 숫자는 n이하
while idx < n and st_num <= n + 1:
    # 체크 리스트 index와 stack 리스트 마지막이 다르면 숫자를 넣고 1추가, push를 기록
    if stack_arr[-1] != check_arr[idx]:
        stack_arr.append(st_num)
        st_num += 1
        answer.append("+")
    # 체크 리스트 index와 stack 리스트 마지막이 같으면 숫자 뽑고 index 1추가, pop을 기록
    else:
        stack_arr.pop()
        idx += 1
        answer.append("-")

if stack_arr != [0]:
    print("NO")
else:
    for i in answer:
        print(*i)
profile
응애 CV 개발자

0개의 댓글