🎃 2019 카카오 개발자 겨울 인턴십 문제 입출력 예시 코드 스택으로 해결했다 def solution(board, moves): stack = [] # 스택 cnt = 0 # answer for i in moves: # moves를 순회하면서 for row in range(len(board)): if board[row][i-1]: # 0이 아니면, stack에 넣고 0으로 바꾸기 stack.append(board[row][i-1]) board[row][i-1] = 0 break # 만약 stack에 같은 숫자가 있으면 삭제 후 카운트 if len(stack) > 1: if stack[-1] == stack[-2]: cnt += 2 stack.pop() stack.pop() return cnt
🚩 시뮬레이션, 구현, BFS * 2021 삼성 상반기 오전 공채 SW 역량테스트 문제 (SW A형) https://www.acmicpc.net/problem/21609 21609번: 상어 중학교 상어 중학교의 코딩 동아리에서 게임을 만들었다. 이 게임은 크기가 N×N인 격자에서 진행되고, 초기에 격자의 모든 칸에는 블록이 하나씩 들어있고, 블록은 검은색 블록, 무지개 블록, 일반 블록 www.acmicpc.net thinking 1️⃣ 오토플레이 -> while문 사용 2️⃣ 크기가 가장 큰 블록 찾기 -> 가능한 블록 그룹의 경우를 모두 구한 후, 내림차순 소팅해서 최대블록 구하기 - 이때, 블록크기, 무지개크기, 블록 좌표 필요 - 무지개 블록(0)은 아래처럼 다른 블록과도 연결될 수 있기때문에 방..
🚩 시뮬레이션, 구현 * 삼성 SW 역량 테스트 기출 문제 thinking 1. 토네이도 회전 방향 (y의 위치) 2. 방향별 모래 비율 위치 3. a값과 격자 밖의 모래의 양 이렇게 3가지가 문제풀이의 관건이었다. 구현 문제는 말그대로 문제에서 하라는대로 하면 되는데 토네이도 구현이 어려웠다. 1. 토네이도 회전 방향 (y의 위치) 토네이도 도는 방법을 두가지로 구해봤다. N = 5인 경우, 위의 그림이랑 맨 위 문제에 주황색으로 표시한 것 처럼 총 24번 움직인다. (왼쪽 오른쪽 위 아래 = 0 1 2 3) ◾ 방법 1 - 몫과 나머지로 구하기 (검정색) →↑(2 3)이 ←↓(0 1)에 비해 한번씩 더 움직이고, 한바퀴 다 돌면 이전보다 한번 더 움직이므로 몫을 회차, 나머지를 dxdy directi..
🚩 DP thinking 전형적인 DP 문제이다. 무조건 마지막 계단을 밟아야 하므로 리스트를 뒤집어 0번 인덱스부터 시작해줬다. 연속된 세 개의 계단을 밟으면 안되기 때문에 dp[i-1]+s[i] 로 하지 않고 dp[i-3]+s[i-1]+s[i] 로 설정해줬다. 런타임에러 (IndexError) 주의 ! 첫계단과 두번째 계단을 아래처럼 설정했더니 인덱스 에러가 났다. range의 범위가 3 이하일 수 있으므로 패쓰코드처럼 작성해야 한다. # Index Error 난 부분 dp = [0]*N dp[0] = s[0] dp[1] = s[0]+s[1] dp[2] = s[0]+s[2] for i in range(3, N): dp[i] = max(dp[i-2]+s[i], dp[i-3]+s[i-1]+s[i]) 코드..
🔍 투포인터(Two Pointers) 리스트에 순차적으로 접근해야 할 때 start point와 end point의 위치를 기록하면서 해결하는 방법 🔍 구간 합(Prefix Sum) ◾ 부분 합 : 0~k 까지의 합 ◾ 구간 합 : i~j 까지의 합 N = 5 lst = [10, 20, 30, 40, 50] # Prefix Sum 배열 계산 tmp = 0 prefix_sum = [0] for num in lst: tmp += num prefix_sum.append(tmp) # 구간 합 계산 left = 3 right = 4 print(prefix_sum[right] - prefix_sum[left-1]) boj 2003 코드 def sol(N, M, a): s, e = 0, 0 subsum = a[0] ..
- BFS
- dp
- 파이썬
- Python
- 2018 카카오 공채
- git 미러링
- dfs
- 백준
- 20056 마법사 상어와 파이어볼
- 2579 계단오르기
- react
- merge에러
- 프로그래머스
- 알고리즘
- 기지국설치
- 보석쇼핑
- 21609 상어 중학교
- swea
- 17406 배열돌리기4
- 브루트포스
- 삼성코테
- 영어끝말잇기
- 삼성기출
- 20057 마법사 상어와 토네이도
- merge 에러
- Total
- Today
- Yesterday