[Coding Test]/[백준]

    [백준] 2304 파이썬(python) : 창고 다각형

    [백준] 2304 파이썬(python) : 창고 다각형

    https://www.acmicpc.net/problem/2304 2304번: 창고 다각형 첫 줄에는 기둥의 개수를 나타내는 정수 N이 주어진다. N은 1 이상 1,000 이하이다. 그 다음 N 개의 줄에는 각 줄에 각 기둥의 왼쪽 면의 위치를 나타내는 정수 L과 높이를 나타내는 정수 H가 한 개의 www.acmicpc.net 문제가 어려운데 해결방법만 알면 난이도가 낮아진다고 느낀다. NHN에 비슷한 문제가 나왔었다고 한다. 문제의 그림을 예시로 들면 왼쪽에서 시작해서 가장 큰 높이를 가진 기둥까지의 높이를 전부 더한 값과 오른쪽에서 시작해서 가장 큰 높이를 가진 기둥 직전까지의 높이를 더한 값 두 개를 더하면 정답이 나온다. 즉, 왼쪽은 4+4+6+6+6+6+10 = 42이고 오른쪽은 8+8+8+8+..

    [백준] 12789 파이썬(python) : 도키도키 간식드리미 - (올바른배열인지확인)

    [백준] 12789 파이썬(python) : 도키도키 간식드리미 - (올바른배열인지확인)

    12789번: 도키도키 간식드리미   빠져 나갈 수 있는 방법은 단 2가지이다. 줄을 서있는 장소와 대기열에서 빠져나오는것이다. 줄을 서있는 장소는 FIFO이 가능하므로 queue라고 할 수 있고, 대기열은 FILO이므로 스택으로 볼 수 있다. queue의 가장 왼쪽에서 번호표와 일치하면 빠져나갈 수 있고 stack의 top에서 번호표와 일치하면 빠져나갈 수 있다.   queue도 stack도 모두 잘 끝내서 종료된 모습이다.    out_num가 3인데 stack의 top은 4여서 꺼내지 못하고 종료하는 상황이다.  from collections import dequeimport sysn = int(sys.stdin.readline())queue = deque(map(int, sys.stdin.read..

    [백준] 4889 파이썬(python) : 안정적인 문자열 - 개수 세기

    [백준] 4889 파이썬(python) : 안정적인 문자열 - 개수 세기

    https://www.acmicpc.net/problem/4889 4889번: 안정적인 문자열 입력은 여러 개의 데이터 세트로 이루어져 있다. 각 데이터 세트는 한 줄로 이루어져 있다. 줄에는 여는 괄호와 닫는 괄호만으로 이루어진 문자열이 주어진다. 문자열의 길이가 2000을 넘는 경우 www.acmicpc.net 이 루트를 반복하면 된다. 1. { 이면 스택에 삽입 2. } 인데 스택에 원소가 있고 stack[-1] == '{'이면 stack.pop() 수행 3. } 인데 스택이 비어있으면 stack에 { 를 삽입 (바꿔준다고 생각) 그리고 cnt +1 추가 4. stack에 들어있는건 여는 괄호 {뿐이니까 남아있다면 그것의 절반의 숫자를 cnt에 추가(절반은 닫는 괄호 }로 바꿔주는거니까) impor..

    [백준] 12605 파이썬(python) : 단어순서 뒤집기

    [백준] 12605 파이썬(python) : 단어순서 뒤집기

    https://www.acmicpc.net/problem/12605 12605번: 단어순서 뒤집기 스페이스로 띄어쓰기 된 단어들의 리스트가 주어질때, 단어들을 반대 순서로 뒤집어라. 각 라인은 w개의 영단어로 이루어져 있으며, 총 L개의 알파벳을 가진다. 각 행은 알파벳과 스페이스로만 www.acmicpc.net import sys n = int(sys.stdin.readline()) for i in range(1, n+1): #1 string = list(sys.stdin.readline().split()) #2 string.reverse() #3 print('Case #' + str(i) + ':', end=' ') #4 print(*string) #5 #1 : 숫자 i를 출력하기 위해서 1부터 n+..

    [백준] 2841 파이썬(python) : 외계인의 기타 연주

    [백준] 2841 파이썬(python) : 외계인의 기타 연주

    https://www.acmicpc.net/problem/2841 2841번: 외계인의 기타 연주 첫째 줄에 멜로디에 포함되어 있는 음의 수 N과 한 줄에 있는 프렛의 수 P가 주어진다. (N ≤ 500,000, 2 ≤ P ≤ 300,000) 다음 N개 줄에는 멜로디의 한 음을 나타내는 두 정수가 주어진다. 첫 번째 정수 www.acmicpc.net import sys n, p = map(int, sys.stdin.readline().split()) melody = [ list(map(int, sys.stdin.readline().split())) for _ in range(n) ] #1 cnt = 0 guitar = [ [] for i in range(7) ] #2 for line, plot in me..

    [백준] 17608 파이썬(python) : 막대기

    [백준] 17608 파이썬(python) : 막대기

    https://www.acmicpc.net/problem/17608 17608번: 막대기 아래 그림처럼 높이만 다르고 (같은 높이의 막대기가 있을 수 있음) 모양이 같은 막대기를 일렬로 세운 후, 왼쪽부터 차례로 번호를 붙인다. 각 막대기의 높이는 그림에서 보인 것처럼 순서대로 www.acmicpc.net 처음 문제를 보고 맨 오른쪽 높이를 설정하고 높이대로 잘라서 위 부분 볼 수 있는 숫자를 출력해야지라고 생각했는데 아니었다. 테스트 케이스는 문제없는데 맞왜틀.. 이러고 있었다. 697946 같은 경우에 오른쪽에서 볼때 가장 오른쪽 6과 높이가 9인 막대기 2개만 보여야 하는데 view = stick[i]을 하지 않으면 979 세개가 cnt에 추가되어서 오답처리를 받는다. 그래서 높이 갱신이 필요하다...