일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- IntelliJ
- HTTP
- 스프링 부트
- spring boot
- 백엔드
- Linux
- 스타트업
- bfs
- 개발자
- dfs
- 주니어
- 구름LEVEL
- 스프링부트
- docker
- 이직
- 해결
- spring
- 배열
- Java
- 프로그래머스
- 문자열
- 구현
- 명령어
- 자료구조
- HashMap
- 코딩테스트
- 인텔리제이
- 도커
- 해시맵
- 스프링
- Today
- Total
목록코딩테스트 (50)
마이의 개발 블로그
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 새로 생긴 문제라 풀긴 했는데 난이도가 낮고 간단하게 풀려서 남기기가 좀 애매하지만 그래도 기록용으로 써본다. - 카드뭉치 1, 2의 인덱스를 각각 선언 - goal에서 단어를 가져올 때마다 카드뭉치 1, 2의 현재 인덱스(idx1, idx2)에 해당하는 단어와 일치하는지 확인 - 일치하는 단어가 있는 경우 그 카드뭉치의 인덱스만 증가시킨 후 continue - goal의 단어가 카드뭉치 1, 2의 현재 단어와 둘 다 일치하지 않는 경우 "No" 지정 후 break Note - continue를 즐겨 사용하는..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 처음에 완전 탐색으로 풀었다가 몇몇 테스트 케이스에서 시간 초과가 나서 그리디로 변경해서 푼 문제이다. - 한 번 탐색 시 한 자릿수의 최대값을 찾아야함 - 한 번 탐색 시 탐색 범위는 '탐색할 한 자릿수를 제외한 나머지 자릿수를 문자열의 마지막에 몰아넣은 상태에서 남는 모든 자릿수'임. - 예를 들어, number = 4177252841, k = 4인 경우 첫 번째 반복 시 41772까지 탐색하고, 52841은 뒤에 몰아넣은 상태에서 41772에서의 최대값인 첫번째 7을 결과에 추가함. 두 번째 반복 시에는..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 예외사항이 너무 많은데 테스트케이스 오픈이 안 되어있어 다른 사람들의 힌트를 참고하여 케이스를 하나씩 때려잡아야 했던 문제이다(코드참조 x). 그래서 그런지 5점이나 주긴 했는데 풀어놓고도 딱히 다른 문제풀이에 도움이 될 것 같진 않다는 인상을 많이 받았다. - 주어진 숫자 storey를 오른쪽에서부터 한 자리씩 탐색함 - 자릿수가 0~4일 때는 빼서 내림하는게 유리함 (첫 번째 if문) - 자릿수가 6~9일 때는 더해서 올림하는게 유리함 (두 번째 if문) - 자릿수가 5일 때 1) 직전 자릿수(현재의 오른..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 전체 조합 만들기 + 소수 구하기의 두 가지를 수행하면 해결할 수 있는 문제이다. - 문자열 쪼개서 배열로 저장하기 : String[] arr - arr 각 요소의 방문 여부를 체크해줄 int 배열 선언 : int[] visited - 전체 조합 숫자를 넣어줄 set 선언: HashSet set - 재귀 함수를 사용하여 완전 탐색을 통해 전체 문자열의 조합 구하기 : private void addNum 1) 현재 문자열 삽입 (빈문자열 제외) 2) arr 배열을 탐색하며 2-1) visited 배열에서 방문체..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 완전탐색으로 전체 경우의 수를 비교하기에는 데이터의 양이 너무 많기 때문에(배열 길이: 100,000) 최대값을 구할 수 있는 알고리즘을 찾아 적용해야만 하는 문제였다. - 문자열 배열로 변환 - Comparator 재정의 (기준 : 두 개의 문자열을 앞뒤로 바꿔 붙인 2개의 수를 Integer로 변환했을 때 더 큰 수가 앞으로 오도록) 및 정렬 수행(Arrays.sort()) - StringBuilder를 활용하여 앞에서부터 문자열 전부 이어주기 - 가장 앞자리(가장 큰 수)가 0인 경우 전체가 0이기 때문..