문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 투 포인터를 활용하여 풀이했습니다. 코드가 올라가 있는 github 주소입니다. 코드가 궁금하시다면 위 github 주소를 눌러주세요! 놓치지 말아야 할 것 연속된 키워드와 부분 수열 키워드를 보시면 투 포인터를 떠올려 보시면 좋습니다. 어렵지 않은 개념이니, 한 두 문제만 풀어보면 쉽게 익힐 수 있습니다. sequence의 길이가 1,000,000이니, minRange는 웬만하면 Integer.MAX_VALUE를 사용해주시는 것이 좋습니다. 문제 풀 때 범위를 확인하고 푸는 습관은 중요합니다. 마..
문제 링크 Map을 활용하여 풀이했습니다. 코드가 올라가 있는 github 주소입니다. 코드가 궁금하시다면 위 github 주소를 눌러주세요! 생각보다 간단한 문제였는데 조금 헤맸네요.. 놓치지 말아야 할 것 순위로 선수 찾기와 선수 이름으로 순위 찾기 둘 다 가능해야 문제를 쉽게 풀 수 있습니다. Map을 활용하여 선수 이름으로 순위 찾을 수 있게 하였고, 입력받은 player 파라미터를 수정해주었습니다. 마무리 Player class를 선언해서 하려고 했더니, 너무 복잡하고 런타임 에러가 났습니다. Player class를 선언한 커밋 주소입니다. 간단한 풀이를 떠올리려면 연습이 더욱 필요할 것 같습니다.
문제 링크 Map을 활용하여 풀이했습니다. 코드가 올라가 있는 github 주소입니다. 코드가 궁금하시다면 위 github 주소를 눌러주세요! 스트림을 써볼까 하다가 직관적인 코드를 짜볼까해서 다음과 같이 풀이하였습니다. 놓치지 말아야 할 것 containsKey 메서드를 사용해서 그리워하는 인물인지 파악해도 되지만, 저는 getOrDefault를 사용해서 그리워하지 않는 인물이면 0을 더해주는 로직으로 구현했습니다. 마무리 level 1 문제답게 아주 간단하게 풀이할 수 있었습니다.
문제 링크 BFS로 풀이했습니다. 코드가 올라가 있는 github 주소입니다. 코드가 궁금하시다면 위 github 주소를 눌러주세요! 이번 문제는 프로그래머스 감을 익히고자 IDE이 아닌 프로그래머스 자체에서 풀었는데, 익숙하지 않았습니다. 연습이 더 필요할 것 같아요.. 놓치지 말아야 할 것 이번 문제의 핵심은 이동 중 장애물을 만나는지에 대한 확인입니다. 저는 주어지는 값이 크지 않아서 하나씩 움직이면서 비교해주었습니다. private boolean check(int[] c) { return parkBoard[c[1]][c[0]] == 'X'; } private int[] moving(int[] position, String direct, int move) { int[] movedPosition = ..
문제 링크 BFS로 풀이했습니다. 코드가 올라가 있는 github 주소입니다. 코드가 궁금하시다면 위 github 주소를 눌러주세요! 놓치지 말아야 할 것 이 문제의 첫 번째 핵심은 미끄러지듯 움직이는 로봇입니다. 제가 생각하는 이 문제의 핵심 메서드입니다. private int getMoveX(int x, int y, int moving, String[] board) { if (moving == 0) { return x; } while (true) { if (isLimit(x, y) || board[x].charAt(y) == 'D') { break; } x += moving; } return x - moving; } private int getMoveY(int x, int y, int moving, ..
코딩테스트 연습 - 수식 최대화 IT 벤처 회사를 운영하고 있는 라이언은 매년 사내 해커톤 대회를 개최하여 우승자에게 상금을 지급하고 있습니다. 이번 대회에서는 우승자에게 지급되는 상금을 이전 대회와는 다르게 다음과 programmers.co.kr 이 문제는 사실 +, -, *의 우선순위에 따라 최대값을 구하는 문제여서 6개의 경우의수를 모두 구해서 최대값을 리턴해주었다. 이 문제는 다른 문제가 좀 더 레퍼런스로 좋을 것 같다! import java.util.Deque; import java.util.LinkedList; class Solution { long answer = Integer.MIN_VALUE; public long solution(String expression) { answer = Ma..
코딩테스트 연습 - 튜플 "{{2},{2,1},{2,1,3},{2,1,3,4}}" [2, 1, 3, 4] "{{1,2,3},{2,1},{1,2,4,3},{2}}" [2, 1, 3, 4] "{{4,2,3},{3},{2,3,4,1},{2,3}}" [3, 2, 4, 1] programmers.co.kr 파라미터 문자열에 있는 배열을 2차원 List 컬렉션으로 데이터 정제해준다. 그 뒤로, List size를 오름차순으로 정렬해준다. 마지막으로, Set에 List를 순회하면서 List 내 요소를 넣어준다. Set 안에 있는 요소들을 순서대로 answer에 넣어준다. (Set 내 순서가 중요하므로 LinkedHashSet 사용 import java.util.*; class Solution { public int[..
코딩테스트 연습 - 괄호 변환 카카오에 신입 개발자로 입사한 "콘"은 선배 개발자로부터 개발역량 강화를 위해 다른 개발자가 작성한 소스 코드를 분석하여 문제점을 발견하고 수정하라는 업무 과제를 받았습니다. 소스를 programmers.co.kr 문제에서 주어진대로 구현하는 시뮬레이션으로 풀이하였다. 이런 문제는 주석을 이용해 혹시 빠뜨린 조건이 없는지 확인하는 방법으로 풀이하면 좋다. import java.util.*; import java.io.*; class Solution { static String answer = ""; public String solution(String p) { answer = Bracket(p); return answer; } private String Bracket(Str..
- Total
- Today
- Yesterday
- 이팩티브 자바
- 디자인패턴
- AWS
- 프로그래머스
- Spring
- Java
- Kotlin
- 클린 코드
- 코테
- JPA
- Olympiad
- BOJ
- 이펙티브 자바
- kotest
- Algorithm
- 테라폼
- programmers
- 알고리즘
- 정규표현식
- 백준
- 디자인 패턴
- Effective Java
- MSA
- Spring Boot
- kkoon9
- C++
- node.js
- 객체지향
- BAEKJOON
- 클린 아키텍처
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |