![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/bu4e1n/btsf6GeLDmb/oYa8h9AHYcK0k76Pr246k1/img.png)
문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 투 포인터를 활용하여 풀이했습니다. 코드가 올라가 있는 github 주소입니다. 코드가 궁금하시다면 위 github 주소를 눌러주세요! 놓치지 말아야 할 것 연속된 키워드와 부분 수열 키워드를 보시면 투 포인터를 떠올려 보시면 좋습니다. 어렵지 않은 개념이니, 한 두 문제만 풀어보면 쉽게 익힐 수 있습니다. sequence의 길이가 1,000,000이니, minRange는 웬만하면 Integer.MAX_VALUE를 사용해주시는 것이 좋습니다. 문제 풀 때 범위를 확인하고 푸는 습관은 중요합니다. 마..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/bEWPJ2/btsf40wIE1M/H88dwSp1HCSTQQf66Nmb40/img.png)
문제 링크 Map을 활용하여 풀이했습니다. 코드가 올라가 있는 github 주소입니다. 코드가 궁금하시다면 위 github 주소를 눌러주세요! 생각보다 간단한 문제였는데 조금 헤맸네요.. 놓치지 말아야 할 것 순위로 선수 찾기와 선수 이름으로 순위 찾기 둘 다 가능해야 문제를 쉽게 풀 수 있습니다. Map을 활용하여 선수 이름으로 순위 찾을 수 있게 하였고, 입력받은 player 파라미터를 수정해주었습니다. 마무리 Player class를 선언해서 하려고 했더니, 너무 복잡하고 런타임 에러가 났습니다. Player class를 선언한 커밋 주소입니다. 간단한 풀이를 떠올리려면 연습이 더욱 필요할 것 같습니다.
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/cF8ZtY/btsf3rVM17c/AioQ34JJkWGCIlXy80fSi0/img.png)
문제 링크 Map을 활용하여 풀이했습니다. 코드가 올라가 있는 github 주소입니다. 코드가 궁금하시다면 위 github 주소를 눌러주세요! 스트림을 써볼까 하다가 직관적인 코드를 짜볼까해서 다음과 같이 풀이하였습니다. 놓치지 말아야 할 것 containsKey 메서드를 사용해서 그리워하는 인물인지 파악해도 되지만, 저는 getOrDefault를 사용해서 그리워하지 않는 인물이면 0을 더해주는 로직으로 구현했습니다. 마무리 level 1 문제답게 아주 간단하게 풀이할 수 있었습니다.
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/mRIDT/btr5PSif2Xf/tk19AIFdMIAt4MrcIJEMAK/img.png)
문제 링크 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 = ..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/cLNA9g/btr5cSwWGpa/uFQWIWsIKg4mKkv4AbLvQk/img.png)
문제 링크 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, ..
정규표현식을 공부하고나서 푼 문제이다. https://programmers.co.kr/learn/courses/30/lessons/72410 코딩테스트 연습 - 신규 아이디 추천 카카오에 입사한 신입 개발자 네오는 "카카오계정개발팀"에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. "네오"에게 주어진 첫 업무는 새로 programmers.co.kr 1단계 new_id의 모든 대문자를 대응되는 소문자로 치환합니다. 2단계 new_id에서 알파벳 소문자, 숫자, 빼기(-), 밑줄(_), 마침표(.)를 제외한 모든 문자를 제거합니다. 3단계 new_id에서 마침표(.)가 2번 이상 연속된 부분을 하나의 마침표(.)로 치환합니다. 4단계 new_id에서 마침표(.)가..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/ctsg3h/btqBAD9PWS4/gbAcrWztikZwKU08ODQSS1/img.jpg)
문제 링크 2 x n 타일링 문제 조건 가로 길이가 2이고 세로의 길이가 1인 직사각형모양의 타일이 있습니다. 이 직사각형 타일을 이용하여 세로의 길이가 2이고 가로의 길이가 n인 바닥을 가득 채우려고 합니다. 타일을 가로로 배치 하는 경우 타일을 세로로 배치 하는 경우 이 직사각형을 채우는 방법의 수를 구하시오. 가로의 길이 n은 60,000이하의 자연수 입니다. 경우의 수가 많아 질 수 있으므로, 경우의 수를 1,000,000,007으로 나눈 나머지를 return해주세요. 변수 설명 n : 직사각형의 가로의 길이 (매개변수) memo : memorization을 위한 배열 코드 설명 위 사진처럼 n의 경우의 수를 구하기 위해서는 n-1과 n-2의 경우의 수를 더해주면 알 수 있습니다. n-2의 경우의..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/bUaqf0/btqBAEU49yO/bnLkeQWDB2n3W4PDfwQzp0/img.png)
문제 링크 멀쩡한 사각형 문제 조건 가로, 세로 방향과 평행하게 격자 형태로 선이 그어져 있으며, 모든 격자칸은 1cm x 1cm 크기입니다. 누군가가 이 종이를 대각선 꼭지점 2개를 잇는 방향으로 잘라 놓아서 잘라지지 않은 부분만 사용하기로 했습니다. 이 때, 사용할 수 있는 정사각형의 개수를 구하시오. 변수 설명 W : 가로의 길이 (매개변수) H : 세로의 길이 (매개변수) mul : 모든 정사각형의 개수( W * H ) : long 타입 line : 사용할 수 없는 정사각형의 개수 코드 설명 문제를 처음 접했을 때, 어떻게 풀어야 할지 감이 안잡혀서 무작정 W가 7까지 그림을 그려보고 규칙을 찾아보았습니다. 일단 W * H에서 얼마나 빠지는지 생각해보았습니다. 첫 번째로, 주의깊게 봤던 부분은 W..
- Total
- Today
- Yesterday
- 클린 코드
- 이펙티브 자바
- Olympiad
- Kotlin
- 프로그래머스
- 알고리즘
- 이팩티브 자바
- node.js
- 정규표현식
- BOJ
- 테라폼
- 디자인 패턴
- 클린 아키텍처
- Spring Boot
- MSA
- AWS
- 객체지향
- JPA
- 백준
- Effective Java
- Spring
- programmers
- C++
- BAEKJOON
- Java
- Algorithm
- kotest
- 코테
- kkoon9
- 디자인패턴
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |