일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 스프링 부트
- 도커
- 백엔드
- 구름LEVEL
- 이직
- dfs
- Java
- 해결
- docker
- 스프링
- 명령어
- 프로그래머스
- 주니어
- 해시맵
- Linux
- 배열
- HTTP
- 스타트업
- 코딩테스트
- 스프링부트
- spring
- 개발자
- 자료구조
- HashMap
- 구현
- 문자열
- IntelliJ
- bfs
- 인텔리제이
- spring boot
- Today
- Total
목록코딩테스트 (45)
마이의 개발 블로그
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 접근 방식 처음에는 order 배열에 들어있는 숫자들이 곧 박스의 우선순위라고 생각했으나 알고보니 우선순위는 order의 인덱스 순서이고 order배열의 숫자는 해당 우선순위 박스의 위치를 가리키고 있었다. 그렇기에 order를 참고하여 박스가 올라가있는 메인 컨베이어 벨트를 priority 배열에 별도로 구현한 후에 문제에서 제시한대로 로직을 수행했다. 보조 컨테이너의 동작 방식은 LIFO이므로 스택으로 선언하여 관리했다. 로직 설명 - order로부터 실제 박스가 놓인 priority 배열 구현 - 보조 ..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 접근 방식 문자열을 처리하여 x항의 계수와 상수 합의 결과값을 구하면 되는 비교적 간단한 문제이다. 더하기만 고려하면 되고 항의 순서가 뒤바뀌는 일도 없어 예외처리할 거의 없었다. 한 가지, x가 1일 경우 1x가 아닌 x로 반환해야한다는 점을 고려하지 못해 중간에 시간이 좀 걸렸다. 로직 설명 - "+" 문자열을 기준으로 split()하여 strArr에 저장 - 계수와 상수를 저장할 int[] count 선언 - strArr에 저장된 각 항을 탐색하며: 1) x항인 경우, x를 없앤 나머지 숫자를 count..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 접근 방식 숫자 x를 주어진 세 가지 방식을 활용하여 y로 변환할 수 있는 최소 횟수를 구하는 문제로, BFS로 접근하여 풀어냈다. 변환된 각각의 숫자를 하나의 Node로 보고, 한 번 변환될 때마다 Node에 숫자 number와 그 숫자가 되기까지의 변환 횟수를 count 변수에 저장하도록 했다. 문제 설명대로라면 x에서 시작하여 y까지 가야하는 게 맞지만, y에서 시작하는 것이 경우의 수 소거에 유리하여 반대 방향으로 시작했다. 로직 설명 - Node 클래스(이하 노드) 생성: 멤버변수 number, co..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 접근 방식 DFS(실패) 맵에서 이동할 수 있는 모든 경우의 수를 탐색하며 최종 목적지에 도달할 때마다 최소값을 갱신하고, 경우의 수가 최대 10000개이므로 DFS로 풀면 되는 문제라고 판단했다. 다만 보통의 DFS문제들은 visited 배열을 별도로 선언하여 푸는 반면 여기서는 maps[][]가 주어지므로 방문한 경로는 벽으로 표시(0으로 표시)하는 방식으로 maps를 이용했다. 이동은 동서남북의 네 가지만 가능하므로, 한 회차마다 네 방향으로 이동가능여부를 체크하고 이동하도록 했다. 문제는 금방 풀었으나..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 접근 방식 모든 던전을 탐색하면서 던전 진입이 가능한지 여부(최소 피로도를 충족하는가)를 체크하고, 그에 따라 발생하는 두 가지 선택지를 고려해야하는 문제이다. 두 가지 선택지는 다음과 같다: 1) 최소 피로도 충족: 던전에 진입해 던전을 탐험 후 소모피로도를 감소시킨 후에 다음 던전을 탐험 2) 최소 피로도 미충족: 현재까지의 탐험 횟수와 최대 탐험 횟수(max)를 비교하여 큰 쪽을 최대 탐험횟수로 변경 이러한 접근 방식을 고려하면 모든 경우의 수를 탐색해야하는데, 던전의 개수가 8개 이하이기 때문에 DFS..