https://www.acmicpc.net/problem/2589 2589번: 보물섬 보물섬 지도를 발견한 후크 선장은 보물을 찾아나섰다. 보물섬 지도는 아래 그림과 같이 직사각형 모양이며 여러 칸으로 나뉘어져 있다. 각 칸은 육지(L)나 바다(W)로 표시되어 있다. 이 지도에서 이동은 상하좌우로 이웃한 육지로만 가능하며, 한 칸 이동하는데 한 시간이 걸린다. 보물은 서로 간에 최단 거리로 이동하는데 있어 가장 긴 시간이 걸리는 육지 두 곳에 나뉘어 묻혀있다. 육지를 나타내는 두 곳 사이를 최단 거리로 이동하려면 같은 곳을 두 번 이상 지 www.acmicpc.net [풀이] 전형적인 bfs문제이긴한데 방문체크를 해놓는다. [코드1] Python3로하면 시간초과/ PyPy3로하면 통과(155584KB, ..
개발 블로그를 계속 써내려가면서 나를 계속 어필해야겠다. 오늘 모의고사를 마치고 개발 블로그들을 보게되었다. 솔직히 오늘 모의고사 그렇게 잘 보지 못했다. 백준문제를 풀까 고민하다가 알고리즘은 잠깐 조금 딜레이하고 싶어서 IT 기술블로그를 탐방했다. 그런데 정말 너무 좋은 블로그.. 그리고 IT를 하는사람들은 다들 너무 꾸준히 공부해서 자극이 된다. 코로나가 심해서 어디 나가지도 못하는 요즘 점점 게을러지고 나도 나태해진다. 꼭 남과 비교해서 나를 깎아내리는 거 같지만 이번에는 반성이 필요하다고 느꼈다. 너무 내가 열심히 하고 있다고 우물안 개구리처럼 자기합리화를 하고 있었다. 그런데 진짜 과거를 되돌아보니 올해 내가 뭐했지라고 물어보면 떠오르는게 알고리즘밖에없다. [우아한형제들 / 백엔드개발자/ 이동욱..
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
- 개발용어
- git
- vscode
- nestjs
- Mongoose
- MongoDB
- Jekyll
- TDD
- 참고
- nestjs jest
- 나도 할 수 있다
- 클린아키텍쳐
- TypeScript
- 갓생살자
- 디지털디톡스
- IT용어
- gem
- 한달어스
- 바이트디그리
- Nest.js
- 습관개선
- typeORM
- MySQL
- node.js
- OS
- 한달독서
- 미완
- jest
- 스마트폰중독
- RDBMS
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |