본문 바로가기

프로그래머스48

[백준] 파이썬 python - 1874번 : 스택 수열 https://www.acmicpc.net/problem/1874 1874번: 스택 수열 1부터 n까지에 수에 대해 차례로 [push, push, push, push, pop, pop, push, push, pop, push, push, pop, pop, pop, pop, pop] 연산을 수행하면 수열 [4, 3, 6, 8, 7, 5, 2, 1]을 얻을 수 있다. www.acmicpc.net 1874번: 스택 수열 레벨 실버 2. 스택 / 자료 구조 접근 방식 1. 가장 먼저 입력받았을 경우 - 해당 숫자까지 오름차순으로 stack에 push(+) 한 후, 해당 숫자를 pop(-) 한다. 2. stack이 비었지만, stack에 저장한 경력이 있을 경우 - 마지막으로 push한 숫자부터, 현재 입력받은 .. 2023. 12. 24.
[백준] 파이썬 python - 9095번 : 1, 2, 3 더하기 https://www.acmicpc.net/problem/9095 9095번: 1, 2, 3 더하기 각 테스트 케이스마다, n을 1, 2, 3의 합으로 나타내는 방법의 수를 출력한다. www.acmicpc.net 백준 9095번 : 1, 2, 3 더하기 레벨 실버 3 접근 방식 d[n] = d[n-1] + d[n-2] + d[n-3] 점화식을 사용한다. 코드 d = [0] * 30001 t = int(input()) for _ in range(t) : n = int(input()) for i in range(1, n+1) : if i == 1: d[1] = 1 elif i == 2 : d[2] = 2 elif i==3: d[3] = 4 else: d[i] = d[i-1] + d[i-2] + d[i-3] .. 2023. 12. 12.
[프로그래머스] python 파이썬 - 스킬트리 https://school.programmers.co.kr/learn/courses/30/lessons/49993 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr Level 2. 스킬트리 Summer/Winter Coding(~2018) 접근 방식 1. 입력된 스킬을 순서대로 숫자로 치환한다. 2. 치환한 숫자를 제외한 모든 문자를 정규식을 사용하여 삭제한다. 3. skill_trees 배열을 돌면서, 숫자가 순서대로인지 확인한다. 3-1. 길이가 0일 때(선행 스킬이 존재하지 않는 스킬)에는 넘어간다. 3-2. 길이가 1일 때에는 무조건 가장 먼저 선행되.. 2023. 12. 2.
[프로그래머스] 파이썬 python - 방문 길이 https://school.programmers.co.kr/learn/courses/30/lessons/49994 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr Level 2. 방문 길이 Summer/Winter Coding(~2018) 접근 방식 1. dirs을 돌면서, 방문 경로를 차례대로 저장한다. 이때, 유효한 좌표평면인지 확인한다. 나의 경우에는 가장 최근의 좌표를 알기 위해 stack을 사용하였다. 2. 그 후 스택을 다시 반복하면서 해당 경로에 온적 있는지 확인한다. 이 경우에는 중복을 확인하기 위해 set을 사용하였으며, 중요한 점(!!!).. 2023. 11. 24.
[백준] python 파이썬 - 9455번 : 박스 https://www.acmicpc.net/problem/9455 9455번: 박스 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스의 첫째 줄에는 m과 n이 주어진다. (1 ≤ m, n ≤ 100) 다음 m개 줄에는 그리드의 각 행의 정보를 나타내는 n개의 정수가 주어진다. 그 www.acmicpc.net 9455번 : 박스 접근 방식 1. 공백을 기준으로 split하여 list로 저장한다. 2. 가장 밑의 행부터 거슬러 올라오면서, 밑바닥과 박스 사이의 거리를 계산한다. 3. 2번을 열이 끝날 때까지 반복하면서 거리 계산한 값을 합산한다. 코드 for _ in range(int(input())): m, n = map(int ,input().split()) graph = [list(ma.. 2023. 11. 12.
[백준] python 파이썬 - 1459번 : 걷기 https://www.acmicpc.net/problem/1459 1459번: 걷기 세준이는 학교에서 집으로 가려고 한다. 도시의 크기는 무한대이고, 도시의 세로 도로는 모든 정수 x좌표마다 있고, 가로 도로는 모든 정수 y좌표마다 있다. 세준이는 현재 (0, 0)에 있다. 그리고 ( www.acmicpc.net Greedy 탐욕적 알고리즘 1459번 : 걷기 문제 접근 방식 1. 가로, 세로로 가는 것의 합보다 대각선으로 가는 방법이 빠를 경우 1 - 1 . x 또는 y의 위치가 0일 경우 1 - 1 - 1. 0이 아닌 다른 좌표가 짝수일 경우 1 - 1 - 2. 0이 아닌 다른 좌표가 홀수일 경우 1- 2. x 또는 y의 위치가 0이 아닌 경우 1 - 2 - 1. 0이 아닌 다른 좌표가 짝수일 경우 .. 2023. 10. 31.