Algorithm/programmers 39

[2022 카카오 블라인드]양궁 대회★

📍 문제 설명 https://school.programmers.co.kr/learn/courses/30/lessons/17687 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 💡 접근 x발을 모든 과녁에 맞춰보고 점수를 계산해봐야 한다. 단, 뻗어나가는 과정에서 어피치와 같은 과녁수일 때 까지만 루프를 돌려서 라이언이 +1발만 쐈을 때 점수를 얻을 수 있게 해야 한다. 👩‍💻 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; impor..

[2018 카카오 블라인드 3차]파일명 정렬

📍 문제 설명 https://school.programmers.co.kr/learn/courses/30/lessons/17686 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 💡 접근 문자열 관련 문제 였다. 1. HEAD, NUMBER, TAIL 부분을 알맞게 파싱한다. 2. 원본 파일명을 그대로 출력해야 하니 File 클래스를 따로 만들어서 원본 데이터를 저장한다. 3. Comparable을 구현해서 주어진 정렬에 맞게 구현한다. 👩‍💻 코드 import java.io.BufferedReader; import java.io.IOException; im..

[2022 카카오 블라인드]주차 요금 계산

📍 문제 설명 https://programmers.co.kr/learn/courses/30/lessons/92341 코딩테스트 연습 - 주차 요금 계산 [180, 5000, 10, 600] ["05:34 5961 IN", "06:00 0000 IN", "06:34 0000 OUT", "07:59 5961 OUT", "07:59 0148 IN", "18:59 0000 IN", "19:09 0148 OUT", "22:59 5961 IN", "23:00 5961 OUT"] [14600, 34400, 5000] programmers.co.kr 💡 접근 차 번호순으로 정렬 시킨다음 차번호, 주차시간으로 맵에 담아서 주차요금을 계산했다. 마지막 테스트케스트가 계속 틀렸다고 나와서 해당 부분은 다른 자료를 참고했다...

[2022 카카오 블라인드]k진수에서 소수 개수 구하기

📍 문제 설명 https://programmers.co.kr/learn/courses/30/lessons/92335 코딩테스트 연습 - k진수에서 소수 개수 구하기 문제 설명 양의 정수 n이 주어집니다. 이 숫자를 k진수로 바꿨을 때, 변환된 수 안에 아래 조건에 맞는 소수(Prime number)가 몇 개인지 알아보려 합니다. 0P0처럼 소수 양쪽에 0이 있는 경우 P0처럼 소 programmers.co.kr 💡 접근 진수 변환 후 소수 판별하여 answer를 증가시켜주면 되는 문제였다. String의 범위가 int 범위를 넘을 수 있으니 long으로 받았다. 👩‍💻 코드 import java.io.*; public class Solution { public int solution(int n, int ..

[2018 카카오 블라인드 3차]압축

📍 문제 설명 https://programmers.co.kr/learn/courses/30/lessons/17684 코딩테스트 연습 - [3차] 압축 TOBEORNOTTOBEORTOBEORNOT [20, 15, 2, 5, 15, 18, 14, 15, 20, 27, 29, 31, 36, 30, 32, 34] programmers.co.kr 💡 접근 첫번째 글자부터 시작해서 다음 글자를 계속해서 이어 붙이는데, 사전에 추가되는 문자열이 최대일 때 출력해주면 되는 문제였다. 👩‍💻 코드 import java.io.*; import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; public class Solution { publi..

[2018 카카오 블라인드 3차]방금그곡

📍 문제 설명 https://programmers.co.kr/learn/courses/30/lessons/17683 코딩테스트 연습 - [3차] 방금그곡 방금그곡 라디오를 자주 듣는 네오는 라디오에서 방금 나왔던 음악이 무슨 음악인지 궁금해질 때가 많다. 그럴 때 네오는 다음 포털의 '방금그곡' 서비스를 이용하곤 한다. 방금그곡에서는 TV, programmers.co.kr 💡 접근 '#'이 붙은 음정들을 2분으로 인식되지 않도록 치환하는 작업과 시간이 같다는 보장이 없으니 시간을 분으로 치환해서 곡을 재생시켜서 재생된 멜로디를 만들어내는 작업이 중요했다. 👩‍💻 코드 import java.io.*; import java.util.Arrays; public class Solution { public Str..

[2018 카카오 블라인드 1차]프렌즈4블록

📍 문제 설명 https://programmers.co.kr/learn/courses/30/lessons/17679 코딩테스트 연습 - [1차] 프렌즈4블록 프렌즈4블록 블라인드 공채를 통과한 신입 사원 라이언은 신규 게임 개발 업무를 맡게 되었다. 이번에 출시할 게임 제목은 "프렌즈4블록". 같은 모양의 카카오프렌즈 블록이 2×2 형태로 4개가 붙 programmers.co.kr 💡 접근 2X2 형태로 블록이 이어져있으면 지워주면 되는데 중복되는 값을 고려해야했다. 블록이 지워지지 않을 때 까지 모든 지점을 탐색해서 2X2인 부분을 방문처리 해놓고 블록을 아래로 떨어뜨리면서 카운트를 해주는 방식으로 구현하면 됐다. 👩‍💻 코드 import java.io.*; import java.util.*; pub..

[2019 카카오 인턴십]튜플

📍 문제 설명 https://programmers.co.kr/learn/courses/30/lessons/64065 코딩테스트 연습 - 튜플 "{{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 💡 접근 문자열 길이 기준으로 정렬해서 list에 넣으면 되는 문제였다. HashSet을 사용하려다가 데이터 순서가 안 맞아서 ArrayList로 풀었는데 데이터 입력 순서 보장해주는 LinkedHashSet 사용하면 된다! 👩‍💻 코드 import java.util.*; class Solutio..