Algorithm272 [ 파이썬(python) ] 백준 10828 - 스택 📍 백준 10828 - 스택 문제: 백준 10828 - 스택 💡 나의 풀이 3개월 전 이 문제를 봤을 때는 못 풀었는데 지금은 풀게 된 문제다. 그때는 함수를 따로따로 만드는지 몰랐었는데... (추억 돋음) 문제풀이는 다음과 같다. 각 기능별로 함수를 만든다. n만큼 입력을 받는데, 입력이 함수의 이름에 포함되면 해당 함수를 실행시킨다. 참고로 함수안에 if, else문을 사용해도 되는데 else를 빼고 return문을 집어넣었다. if문 지나 조건을 통과하지 못한 기능만 남아 자연스럽게 return을 만나기 때문이다. 또, push 값은 split()으로 나눠 [1]번째를 사용하면 된다. import sys input = sys.stdin.readline n = int(input()) stack = [.. 2021. 5. 4. [ 파이썬(python) ] 백준 10773 - 제로 📌 백준 10773 - 제로 문제 설명 💡 나의 풀이 빈 리스트를 선언한다. 입력이 0이면 pop, 아니면 리스트에 추가한다. 남은 값들을 모두 더한다. import sys input = sys.stdin.readline n = int(input()) stack = [] for _ in range(n): recent = int(input()) if not recent: stack.pop() else: stack.append(recent) print(sum(stack)) 2021. 5. 4. [ 파이썬(python) ] 백준 1158 - 요세푸스 문제 📌 백준 1158 - 요세푸스 문제 문제 설명 💡 나의 풀이 요세푸스 문제는 연결리스트(linkedList)로 풀 수 있는 전형적인 문제이지만 큐(queue)를 사용해서도 풀 수 있다. k번째의 사람들이 계속해서 제거되어야 하므로 cnt를 0으로 초기화한다. len(arr)이 0이될때까지 제일 앞에 있는 수가 제일 뒤로 이동하면서 순환한다. 한번 순환 할때마다 cnt가 1씩 누적된다. 만약, cnt가 k-1와 같다면 다음 사람이 제거되야하므로 해당 수를 stack에 추가한다.(인덱스는 0부터 세므로 k-1로 선언했다.) stack으로 빠졌다면 다시 0부터 카운트한다. 그럴싸한 로직이다. 하지만, 이대로 제출하면 실행시간이 비약적으로 높게 나온다. 그래서 다음 제거할 사람의 인덱스를 찾을 때 (k-1) m.. 2021. 5. 4. [ 파이썬(python) ] 백준 2164 - 카드2 📌 백준 2164 - card2 문제 설명 💡 나의 풀이 단순하게 문제에 나와있는 대로 구현하면 되는데, 제일 위에 있는 카드를 제일 아래에 있는 카드 밑으로 옮기는 과정은 deque의 popleft()를 사용했다. deque를 사용하지 않고 pop(0)을 사용하게되면, 범위가 500,000정도로 크기 때문에 시간 초과 판정이 난다. 따라서 deque를 적극 사용하도록 하자. while문의 범위를 card로만 작성하면 더 이상 뺼 원소가 없기 때문에 오류가 난다. len(cards)의 길이가 1이하로 줄어들 때로 설정하자. import sys from collections import deque input = sys.stdin.readline n = int(input()) cards = deque(ran.. 2021. 5. 4. [ 파이썬(python) ] 코드업 1484 - 2차원 배열 달팽이 채우기 4-1 📍 1484 : [ 기초 - 배열 연습 ] 2차원 배열 달팽이 채우기 4-1 2차원 배열 안에 달팽이 모양으로 값을 채우는 문제인데, 사실 이 문제를 풀기 위해 1460부터 쭉 풀었다. 총 2가지 유형으로 나눠서 풀 수 있다. ⚡️ while문으로 row, column 따로따로 반복문 돌리기 n * m의 크기로 값이 0인 2차원 배열 arr을 선언한다. row(행), column(열)을 각각 0과 -1로 초기화했는데, 이유는 1씩 증가하면서 해당 위치에 cnt가 들어가기 때문이다. 그리고 중간에 행과 열의 크기를 -1씩 감소시켰는데, 반복문이 진행될때마다 채워야 하는 값의 크기가 줄어들기 때문이다. (0, 0)부터 시작하여 column에 값을 채우고 난 이후 row-1 범위로 값을 채워야하고 다시 col.. 2021. 5. 3. 이전 1 ··· 37 38 39 40 41 42 43 ··· 55 다음