일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- 구현
- dfs
- 개발자
- 명령어
- 스타트업
- spring boot
- 해시맵
- 해결
- docker
- 스프링부트
- 구름LEVEL
- 코딩테스트
- 이직
- bfs
- 스프링
- 스프링 부트
- 주니어
- HashMap
- spring
- HTTP
- Linux
- 문자열
- 인텔리제이
- 배열
- 도커
- Java
- 백엔드
- 자료구조
- 프로그래머스
- Today
- Total
목록코딩테스트/프로그래머스 (47)
마이의 개발 블로그
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 해시로 분류되어있는 문제이나, 시간복잡도를 줄여 단순비교를 하는 방식으로 풀었다. - 처음에는 단순하게 반복문을 두 번 돌며 접두어 포함여부를 확인하였으나 효율성테스트에서 걸림(n^2) - 사전순으로 정렬 후, 한 바퀴만 돌면서 인접 문자열의 접두어 포함여부만 비교하니 효율성 테스트를 통과함 (n) Note - contains() 메서드를 사용할 경우 문자열 중간에 포함되는 경우를 거를 수가 없어 몇몇 테스트 케이스에서 걸린다. - 정답코드에서 input명이 쓸데없이 길어 phone_book -> contac..
코딩테스트 연습 - 크레인 인형뽑기 게임 [[0,0,0,0,0],[0,0,1,0,3],[0,2,5,0,1],[4,2,4,4,2],[3,5,1,3,1]] [1,5,3,5,1,2,1,4] 4 programmers.co.kr 작성코드 1. board[][] 배열을 세로로 접근해야 하는데(각 인형뽑기 번호에 따른 컬럼), 이를 위한 index 배열을 선언한다. 2. 주어진 board[][] 배열은 다음과 같이 접근한다 : board[index[move]][move] 3. moves[] 배열을 돌며 인형뽑기를 진행한다. 경우의 수를 처리해준다 (하단 코드 참조) 4. 상쇄된 인형의 갯수를 반환한다. import java.util.*; class Solution { public int solution(int[][]..
코딩테스트 연습 - 신고 결과 받기 문제 설명 신입사원 무지는 게시판 불량 이용자를 신고하고 처리 결과를 메일로 발송하는 시스템을 개발하려 합니다. 무지가 개발하려는 시스템은 다음과 같습니다. 각 유저는 한 번에 한 명의 programmers.co.kr 작성 코드 1. 한 유저당 한 사람에 대해 1회만 신고가 유효하므로 report 중복값을 제거한 후 reportList에 저장한다. 2. reportList를 읽어 신고자와 신고당한자의 이름을 각각 reportArray[i][0], reportArray[i][1]에 저장한다. 3. reportArray를 돌며 각 유저가 신고당한 횟수를 reportCount배열에 저장한다. 4. 정지 당한 유저 (2회 이상)를 체크한 후, 각 신고자가 받을 처리 결과 메일..
코딩테스트 연습 - 폰켓몬 당신은 폰켓몬을 잡기 위한 오랜 여행 끝에, 홍 박사님의 연구실에 도착했습니다. 홍 박사님은 당신에게 자신의 연구실에 있는 총 N 마리의 폰켓몬 중에서 N/2마리를 가져가도 좋다고 했습니다. programmers.co.kr 작성 코드 1. 정렬 (Arrays.sort()) 2. 한 바퀴 돌면서 중복 안 되는 폰켓몬 번호의 최대값(count)이 몇 개인지 찾는다 (for문). 3. 선택가능한 최대개수 n과 count를 비교하여 그 중 큰 값을 정답으로 반환한다. import java.util.*; class Solution { public int solution(int[] nums) { int answer = 0; Arrays.sort(nums); int count = 0; in..
코딩테스트 연습 - 기능개발 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 programmers.co.kr 작성 코드 1. 배포완료된 횟수가 주어진 progresses의 길이와 같을 때까지 반복한다(while문). 2. 한 번 반복 시 배포 완료된 작업을 제외하고, progresses에 speeds를 더한다. 3. 더해진 progresses를 체크하여 완료작업을 배포하고(count++), 완료되었음을 표시해준다(-1). 4. 한 회당 배포완료작업의 개수를 저장하고(list.add(count)), 전체 배포완료개수(countSum)에 더해준다. //내가 작성한 ..