본문 바로가기

JAVA/Coding Test Study149

[Lv.0] 프로그래머스 - 코드 처리하기 : Java 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 이해하기 mode = 0으로 시작 "1"을 만나면 mode를 바꿈 0이었으면 1로 1이었으면 0으로 mode가 0일 때 code[idx]가 "1"이 아니면 idx가 짝수일 때만 ret의 맨 뒤에 code[idx] 추가 mode가 1일 때 code[idx]가 "1"이 아니면 idx가 홀수일 때만 ret의 맨 뒤에 code[idx] 추가 ret이 비었다면 "EMPTY" 리턴 쉬운 문제라고 생각했는데 의외로 고민했다. 내가 틀렸던 이유는 바로 "EMPTY"를 못 봤기 때문... 문제를 잘 읽자🥹 문제풀이 class.. 2024. 4. 16.
[Lv.0] 프로그래머스 - ad 제거하기 : Java 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 이해하기 다 풀어놓고 list를 String 배열로 바꾸는 stream식을 몰라서 틀렸다 ㅋㅋ... 이번 기회에 정리해둬야지 ㅜㅅㅜ 참고한 블로그⬇️ [Java/자바] List와 String(문자열, 배열)을 서로 변환하는 법 List ↔ String List를 String으로 간단히 변환 join() 메서드 활용 List list = new ArrayList(); String answer = String.join(",",list); String을 List로 변환 split() 메서드 활용 String s =.. 2024. 4. 16.
[Lv.2] 프로그래머스 - 가장 큰 수 : Java 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 이해하기 이 문제가 제일 어렵게 느껴졌다! sort 해야하는건 알겠는데 기준이 뭔지 파악하기가 어려웠다. 참고한 블로그⬇️ [프로그래머스] 가장 큰 수 - Java 코딩테스트 연습 - 가장 큰 수 0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요. 예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 bellog.tistory.com Arrays.sort(arr, (o1, o2) -> (o2 + o1.. 2024. 4. 16.
[Lv.2] 프로그래머스 - 전화번호 목록 : Java 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 이해하기 처음에는 너무 쉽지 않나? 하고 막~ 풀었는데 효율성 빵점 맞았다. 첫 풀이는 이중 for문 돌리면서 자신이 아닌 다른 문자열들을 .startsWith()로 검사했다. 결과는 실패, 시간 초과 ㅜㅅㅜ 제한 사항을 보니 phone_book의 길이가 최대 1,000,000 이라 이중 for문을 돌리면 너무 오래 걸리게 된다. 참고한 블로그⬇️ [프로그래머스] 전화번호 목록 (해시 Lv. 2) - 자바 Java 0. 동일 유형 문제 [프로그래머스] 완주하지 못한 선수 (해시 Lv. 1) [프로그래머스] 전.. 2024. 4. 16.
[Lv.2] 프로그래머스 - 튜플 : Java 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 이해하기 처음에 풀었던 방법은 다음과 같았다. s를 char 배열로 만든다. list를 두 개 만든다. for문으로 char 배열을 순회한다. c가'{'이 아니고 ','도 아니고, '}'도 ㅏ니라면 list2.add(c - '0') c가 '}'라면 해당 배열의 끝을 만난 것이라고 판단 int 배열에 list2를 옮겨 담아서 list.add() list2.clear() list를 길이 순서대로 정렬 for문을 돌며 answer에 들어있지 않은 숫자를 add return answer 사실상 스트링을 어떻게 배열로.. 2024. 4. 15.
[Lv.2] 프로그래머스 - H-Index : Java 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 이해하기 처음엔 citations를 오름차순 정렬하고, for문으로 순회하면서 각각을 count하였는데 효율성에서 실패하였다. 그리고 사실 문제도 제대로 이해 못한 듯하다... 어떤 과학자가 발표한 논문 n편 중, h회 이상 인용된 논문이 h편 이상이고 나머지 논문이 h번 이하 인용되었을 때, h의 최대값 을 구해야하는데 말이 좀 어려웠다. 참고한 블로그⬇️ [프로그래머스] H-Index - Java https://programmers.co.kr/learn/courses/30/lessons/42747 코딩테스.. 2024. 4. 15.