https://programmers.co.kr/learn/courses/30/lessons/43163 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [풀이] 전형적인 DFS와 Backtracking을 활용한 문제이다. 먼저 논리의 순서대로 해보자면 (1) target이 words리스트에 있는지/ 없는지를 확인해야한다. => 있다면 dfs()함수를 호출하여 target까지 도다하는데 최소 횟수를 구해야한다. => 없다면 0을 리턴한다. target이 words 리스트에 존재한다면 (2) words의 모든 원소들에 대한 방문리스트를 나타낸다. 나는 여기서 방..
https://www.acmicpc.net/problem/2589 2589번: 보물섬 보물섬 지도를 발견한 후크 선장은 보물을 찾아나섰다. 보물섬 지도는 아래 그림과 같이 직사각형 모양이며 여러 칸으로 나뉘어져 있다. 각 칸은 육지(L)나 바다(W)로 표시되어 있다. 이 지도에서 이동은 상하좌우로 이웃한 육지로만 가능하며, 한 칸 이동하는데 한 시간이 걸린다. 보물은 서로 간에 최단 거리로 이동하는데 있어 가장 긴 시간이 걸리는 육지 두 곳에 나뉘어 묻혀있다. 육지를 나타내는 두 곳 사이를 최단 거리로 이동하려면 같은 곳을 두 번 이상 지 www.acmicpc.net [풀이] 전형적인 bfs문제이긴한데 방문체크를 해놓는다. [코드1] Python3로하면 시간초과/ PyPy3로하면 통과(155584KB, ..
https://www.acmicpc.net/problem/1182 1182번: 부분수열의 합 첫째 줄에 정수의 개수를 나타내는 N과 정수 S가 주어진다. (1 ≤ N ≤ 20, |S| ≤ 1,000,000) 둘째 줄에 N개의 정수가 빈 칸을 사이에 두고 주어진다. 주어지는 정수의 절댓값은 100,000을 넘지 않는다. www.acmicpc.net [풀이] backtracking을 이용해서 풀었다. import sys input=sys.stdin.readline N,S=map(int, input().strip().split()) A=[*map(int,input().strip().split())] A=sorted(A) #오름차순으로 정렬 result=0 def backtracking(n, s): global..
https://www.acmicpc.net/problem/1261 1261번: 알고스팟 첫째 줄에 미로의 크기를 나타내는 가로 크기 M, 세로 크기 N (1 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 미로의 상태를 나타내는 숫자 0과 1이 주어진다. 0은 빈 방을 의미하고, 1은 벽을 의미한다. (1, 1)과 (N, M)은 항상 뚫려있다. www.acmicpc.net [주저리 & 풀이] 1.그냥 BFS로 풀면되겠지 했는데 틀렸다. 2. BFS는 그대로 사용하되, 만일 현위치의 상/하/좌/우가 빈방(0)이라면 그쪽으로 먼저 이동하고 현위치 주변이 모두 벽이거나 이미 방문된 상태라면 벽을 깨면서 이동하는거라고 생각했지만 예제들은 맞는데 채점을해보니 틀렸다 ㅠㅠ 3. 다익스트라로 풀어보려고 했는..
https://www.acmicpc.net/problem/16936 16936번: 나3곱2 나3곱2 게임은 정수 하나를 이용한다. 가장 먼저, 정수 x로 시작하고, 연산을 N-1번 적용한다. 적용할 수 있는 연산은 두 가지 있고, 아래와 같다. 나3: x를 3으로 나눈다. x는 3으로 나누어 떨어져야 한다. 곱2: x에 2를 곱한다. 나3곱2 게임을 진행하면서, 만든 수를 모두 기록하면 수열 A를 만들 수 있다. 예를 들어, x = 9, N = 6이고, 적용한 연산이 곱2, 곱2, 나3, 곱2, 나3인 경우에 A = [9, 18, 36, 12, www.acmicpc.net [풀이] 나는 DFS를 이용하여 풀었다. DFS+ 재귀함수 를 활용해야한다. 그리고 문제입력에서 수열B는 수열A의 순서를 임의로 섞은..
https://www.acmicpc.net/problem/1946 1946번: 신입 사원 첫째 줄에는 테스트 케이스의 개수 T(1 ≤ T ≤ 20)가 주어진다. 각 테스트 케이스의 첫째 줄에 지원자의 숫자 N(1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개 줄에는 각각의 지원자의 서류심사 성적, 면접 성적의 순위가 공백을 사이에 두고 한 줄에 주어진다. 두 성적 순위는 모두 1위부터 N위까지 동석차 없이 결정된다고 가정한다. www.acmicpc.net [풀이] 두 성적 순위(서류점수 순위, 면접점수 순위)는 모두 1위부터 N위까지 동석차 없이 결정된다. (1) i번째 지원자의 서류점수 순위(score[i][0])를 기준으로 정렬 (2) i번째 지원자의 면접점수 순위(score[i][1])보..
https://www.acmicpc.net/problem/14891 14891번: 톱니바퀴 총 8개의 톱니를 가지고 있는 톱니바퀴 4개가 아래 그림과 같이 일렬로 놓여져 있다. 또, 톱니는 N극 또는 S극 중 하나를 나타내고 있다. 톱니바퀴에는 번호가 매겨져 있는데, 가장 왼쪽 톱니바퀴가 1번, 그 오른쪽은 2번, 그 오른쪽은 3번, 가장 오른쪽 톱니바퀴는 4번이다. 이때, 톱니바퀴를 총 K번 회전시키려고 한다. 톱니바퀴의 회전은 한 칸을 기준으로 한다. 회전은 시계 방향과 반시계 방향이 있고, 아래 그림과 같이 회전한다. 톱니바퀴를 회전시키려 www.acmicpc.net [풀이] [코드-Python] import sys from copy import deepcopy input=sys.stdin.read..
https://programmers.co.kr/learn/courses/30/lessons/62049 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [코드] def solution(n): answer=[0] for i in range(n-1): answer=answer+[0]+[bit^1 for bit in answer[::-1]] return answer [실패코드] 테스트케이스 17개중 15개 맞음 (2문제는 시간초과) def solution(n): answer=[0] if n==1: return answer for i in range(2,n+1): ..
- Total
- Today
- Yesterday
- 개발용어
- RDBMS
- 디지털디톡스
- MongoDB
- MySQL
- nestjs
- git
- node.js
- 바이트디그리
- 한달독서
- OS
- 미완
- 참고
- jest
- nestjs jest
- Jekyll
- TypeScript
- IT용어
- 습관개선
- 스마트폰중독
- 나도 할 수 있다
- Mongoose
- typeORM
- 클린아키텍쳐
- TDD
- 갓생살자
- Nest.js
- vscode
- gem
- 한달어스
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |