코딩테스트 연습 - 수식 최대화 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..
코딩테스트 연습 - 메뉴 리뉴얼 레스토랑을 운영하던 스카피는 코로나19로 인한 불경기를 극복하고자 메뉴를 새로 구성하려고 고민하고 있습니다. 기존에는 단품으로만 제공하던 메뉴를 조합해서 코스요리 형태로 재구성해서 programmers.co.kr 해당 문제의 제한 크기가 크지 않은 걸 알 수 있다. 이러면 생각해볼 수 있는게 재귀가 있다. dfs를 통해 course 길이 별 order의 경우의 수를 모두 구해줬다. dfs가 종료된 후, order의 경우의 수 중에서 course 길이 별 최대로 주문된 코스요리(정답)를 구해줬다. import java.util.*; class Solution { Set set = new HashSet(); Map setMenu = new HashMap(); int max =..
코딩테스트 연습 - [1차] 뉴스 클러스터링 뉴스 클러스터링 여러 언론사에서 쏟아지는 뉴스, 특히 속보성 뉴스를 보면 비슷비슷한 제목의 기사가 많아 정작 필요한 기사를 찾기가 어렵다. Daum 뉴스의 개발 업무를 맡게 된 신입사원 튜브 programmers.co.kr 두 글자씩 끊어서 다중집합을 만드는 stringSlice 메서드를 만들어서 Map을 리턴해주었다. 위처럼 다중집합을 만들어준 뒤, 문제에서 제시된대로 자카드 유사도를 구해주면 마무리된다. import java.util.HashMap; import java.util.Map; class Solution { public int solution(String str1, String str2) { final int VALUE = 65536; str1 ..
코딩테스트 연습 - 오픈채팅방 오픈채팅방 카카오톡 오픈채팅방에서는 친구가 아닌 사람들과 대화를 할 수 있는데, 본래 닉네임이 아닌 가상의 닉네임을 사용하여 채팅방에 들어갈 수 있다. 신입사원인 김크루는 카카오톡 오 programmers.co.kr 닉네임을 변경하면 이전에 입장했던 유저의 닉네임도 변경해주어야 한다. 그러므로 먼저 Map 을 설정해줬다. 그 뒤, record를 순회하면서 StringBuilder에 append해주었다. import java.util.*; class Solution { public String[] solution(String[] record) { String[] answer; List chat = new ArrayList(); Map map = new LinkedHashMap..
코딩테스트 연습 - 실패율 실패율 슈퍼 게임 개발자 오렐리는 큰 고민에 빠졌다. 그녀가 만든 프랜즈 오천성이 대성공을 거뒀지만, 요즘 신규 사용자의 수가 급감한 것이다. 원인은 신규 사용자와 기존 사용자 사이에 스 programmers.co.kr Collection.reverseOrder() 메서드를 사용하여 풀이하였다. stage 순서와 실패율을 가지는 클래스(Failure)를 선언해준 뒤, 정렬해주었다. import java.util.*; class Solution { public int[] solution(int N, int[] stages) { int[] answer = new int[N]; int playerCount = stages.length; List failures = new ArrayL..
코딩테스트 연습 - [1차] 비밀지도 비밀지도 네오는 평소 프로도가 비상금을 숨겨놓는 장소를 알려줄 비밀지도를 손에 넣었다. 그런데 이 비밀지도는 숫자로 암호화되어 있어 위치를 확인하기 위해서는 암호를 해독해야 한다. 다 programmers.co.kr 이 문제에 핵심은 다음과 같다. 합집합 ( | ) 10진수(Integer)를 2진수(String)로 바꿔주는 Integer.toBinaryString 위 핵심을 사용하여 풀이하였다. class Solution { public String[] solution(int n, int[] arr1, int[] arr2) { String[] answer = new String[n]; for(int i = 0;i
- Total
- Today
- Yesterday
- 클린 코드
- Java
- 테라폼
- 객체지향
- 이펙티브 자바
- kotest
- BOJ
- JPA
- node.js
- 코테
- 클린 아키텍처
- Spring
- AWS
- Kotlin
- Algorithm
- BAEKJOON
- 이팩티브 자바
- Olympiad
- 디자인 패턴
- Effective Java
- programmers
- Spring Boot
- 프로그래머스
- kkoon9
- 알고리즘
- 디자인패턴
- C++
- 백준
- MSA
- 정규표현식
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |