Algorithm 306

[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..

ZOAC

📍 문제 설명 https://www.acmicpc.net/problem/16719 16719번: ZOAC 2018년 12월, 처음 시작하게 된 ZOAC의 오프닝을 맡은 성우는 누구보다 화려하게 ZOAC를 알리려 한다. 앞 글자부터 하나씩 보여주는 방식은 너무 식상하다고 생각한 성우는 문자열을 보여주는 새로 www.acmicpc.net 💡 접근 처음에는 n개중에 1~n개 뽑는 조합으로 풀고 뽑힌 조합에서 걸러내려 했다. 근데 모든 경우를 뽑다보니 시간 초과가 났다. 이미 뽑은 문자들을 방문처리 하면서 출력하고 뽑는 문자들에 대해서 왼쪽 오른쪽 탐색을 해주면 불필요한 탐색을 안해도 된다. 👩‍💻 코드 import java.io.BufferedReader; import java.io.IOException; i..

Algorithm/baekjoon 2022.06.13

홀수 홀릭 호석

📍 문제 설명 https://www.acmicpc.net/problem/20164 20164번: 홀수 홀릭 호석 호석이는 짝수랑 홀수 중에서 이니셜이 같은 홀수를 더 좋아한다. 운전을 하던 호석이는 앞차의 번호판이 홀수로 가득할 때 사랑스러움을 느낄 정도이다. 전화번호도 홀수만 있고 싶다. 그렇게 www.acmicpc.net 💡 접근 수가 세 자리 이상일 때 각 자릿수에 따라서 규칙을 찾아보니 substring으로 분할하면 임의의 모든 위치로 끊을 수 있었다. 끊은 위치를 기준으로 반복해야하므로 재귀함수를 사용했고 수가 한자릿수일 때 min과 max를 갱신시켜주고 cnt를 리셋시켜줬다. 👩‍💻 코드 import java.io.BufferedReader; import java.io.IOException; ..

Algorithm/baekjoon 2022.06.04

ZOAC 3

📍 문제 설명 https://www.acmicpc.net/problem/20436 20436번: ZOAC 3 첫 번째 줄에는 두 알파벳 소문자 sL, sR이 주어진다. sL, sR은 각각 왼손 검지손가락, 오른손 검지손가락의 처음 위치이다. 그 다음 줄에는 알파벳 소문자로 구성된 문자열이 주어진다. 문자열의 www.acmicpc.net 💡 접근 꽤나 시간을 많이 쏟은 문제였다... 1.오른쪽/왼쪽으로 나눌 수 있는 부분으로 나누어 맵에 담았는데 오른쪽 부분을 담을 때 처음에 좌표값을 제대로 넣지 못했었다. 2.여러 케이스에 대해서는 통과를 했는데 다른 케이스에서 해당 객체에 대한 값 참조를 제대로 하지 못하는 경우가 있었던 것 같다..? 아래 때문에 에러났던게 아니고 값만 리턴하고 출력은 따로 안해줘서 ..

Algorithm/baekjoon 2022.05.07

오리

📍 문제 설명 https://www.acmicpc.net/problem/12933 12933번: 오리 첫째 줄에 영선이가 녹음한 소리가 주어진다. 소리의 길이는 5보다 크거나 같고, 2500보다 작거나 같은 자연수이고, 'q','u','a','c','k'로만 이루어져 있다. www.acmicpc.net 💡 접근 각 인덱스에서 울고 있는 오리의 울음소리를 최대한 구한다음 다음 인덱스로 넘어가면 최소 오리 수가 나온다. 울음소리가 아닌 경우는 울음소리의 길이가 1.5의 배수가 아니거나 2.'q'로 시작하지않거나 3.1회전 후 idx가 0이 아닐 때 이다. 👩‍💻 코드 import java.io.*; import java.util.*; public class Main { public int solution(S..

Algorithm/baekjoon 2022.05.04

[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..