일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 스타트업
- 문자열
- 이직
- 해시맵
- bfs
- HTTP
- 프로그래머스
- 백엔드
- 해결
- spring boot
- 주니어
- 구현
- docker
- 배열
- 스프링부트
- 도커
- HashMap
- dfs
- 스프링
- Java
- 명령어
- 코딩테스트
- spring
- IntelliJ
- 자료구조
- 구름LEVEL
- Linux
- 개발자
- 스프링 부트
- 인텔리제이
- Today
- Total
목록Java (45)
마이의 개발 블로그
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 접근 방식 달리기를 하며 이름이 불리는 선수와 그 선수의 바로 앞에 있는 선수의 순위(위치)를 바꾸어주면 되는 문제이다. 범위를 벗어나는(1등 선수) calling 은 없으므로 별도의 순위변경에 대한 예외처리는 필요없었다. 다만 복잡도를 줄이기 위해 이중 반복문을 통한 탐색이 아닌 해시맵을 활용한 탐색 및 등수의 변경으로 로직을 만들어야했다. 인풋값이 각각 50,000과 100,000이였기 때문이다. 로직 설명 - 선수들의 순위를 이름으로 바로 접근할 수 있도록 map을 선언하여 이름과 순위를 key, val..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 접근 방식 DFS(실패) 맵에서 이동할 수 있는 모든 경우의 수를 탐색하며 최종 목적지에 도달할 때마다 최소값을 갱신하고, 경우의 수가 최대 10000개이므로 DFS로 풀면 되는 문제라고 판단했다. 다만 보통의 DFS문제들은 visited 배열을 별도로 선언하여 푸는 반면 여기서는 maps[][]가 주어지므로 방문한 경로는 벽으로 표시(0으로 표시)하는 방식으로 maps를 이용했다. 이동은 동서남북의 네 가지만 가능하므로, 한 회차마다 네 방향으로 이동가능여부를 체크하고 이동하도록 했다. 문제는 금방 풀었으나..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 접근 방식 모든 던전을 탐색하면서 던전 진입이 가능한지 여부(최소 피로도를 충족하는가)를 체크하고, 그에 따라 발생하는 두 가지 선택지를 고려해야하는 문제이다. 두 가지 선택지는 다음과 같다: 1) 최소 피로도 충족: 던전에 진입해 던전을 탐험 후 소모피로도를 감소시킨 후에 다음 던전을 탐험 2) 최소 피로도 미충족: 현재까지의 탐험 횟수와 최대 탐험 횟수(max)를 비교하여 큰 쪽을 최대 탐험횟수로 변경 이러한 접근 방식을 고려하면 모든 경우의 수를 탐색해야하는데, 던전의 개수가 8개 이하이기 때문에 DFS..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 최초 접근방식 (93.3점, 통과못함) 큐는 단방향으로만 움직인다는 아이디어에 착안하여 큐 2개를 합쳐 하나의 배열로 만들고, 시작과 끝 인덱스 2개를 전진시키며 합산을 체크하는 방식으로 풀어보려고 했으나, 다 통과했는데 중간에 테스트케이스 2개를 끝끝내 통과하지 못했다. 예외처리를 해줘야할 부분이 있었던게 아닌가 싶은데 아쉽지만 이 접근 방식으로 답안을 완성하지는 못했다. 프로그래머스에서는 케이스를 공개하지 않는데 가끔은 이게 실제 프로그래밍 방식과 맞는 건지 의문이 들 때가 있다. class Solutio..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 접근 방식 예전에 풀어놨던 문제인데 뒤에 있는 큰 수 찾기 문제와 관련하여 이제서야 기록을 남긴다. 스택/큐 문제로 분류되어있으나 반복문으로 풀어냈다. 로직 설명 - 배열 prices[]를 탐색하며: 각 가격 prices[i]의 뒤에있는 가격들을 탐색하여 span을 증가시킴 - 주식 가격이 떨어지는 경우 탐색을 중단하고 answer[i]에 span을 저장함 Note - 스택으로 풀었어도 될 문제이나 구현으로 풀어내는게 더 직관적이라는 생각이 든다. class Solution { public int[] solu..