programmers

    [java] 프로그래머스 (자물쇠와 열쇠) Level 3

    Problem : https://programmers.co.kr/learn/courses/30/lessons/60059 코딩테스트 연습 - 자물쇠와 열쇠 [[0, 0, 0], [1, 0, 0], [0, 1, 1]] [[1, 1, 1], [1, 1, 0], [1, 0, 1]] true programmers.co.kr Approach 2020 KAKAO BLIND RECRUITMENT 문제였다. 문제풀이의 핵심은 배열을 확장시키고, 흘러가듯 밀면서 비교한다는 점이다. 완전탐색으로도 통과는 가능하다고 한다.(?) TC에서 100ms 정도 걸린다는 글을 보았다. 원본 lock 배열에 홈의 크기 hole를 구한다. 원본 lock 배열에 상하좌우에 (key배열 사이즈 - 1) 만큼씩 padding을 주어 확장된 e..

    [java] 프로그래머스 (풍선 터트리기) Level 3

    Problem : https://programmers.co.kr/learn/courses/30/lessons/68646 코딩테스트 연습 - 풍선 터트리기 [-16,27,65,-2,58,-92,-71,-68,-61,-33] 6 programmers.co.kr Approach 월간 코드 챌린지 시즌1 문제였다. 문제의 조건은 다음과 같다. 임의의 인접한 두 풍선을 고른 뒤, 두 풍선 중 하나를 터트립니다. 터진 풍선으로 인해 풍선들 사이에 빈 공간이 생겼다면, 빈 공간이 없도록 풍선들을 중앙으로 밀착시킵니다. 인접한 두 풍선 중에서 번호가 더 작은 풍선을 터트리는 행위는 최대 1번만 할 수 있습니다. 즉, 어떤 시점에서 인접한 두 풍선 중 번호가 더 작은 풍선을 터트렸다면, 그 이후에는 인접한 두 풍선을 고..

    [java] 프로그래머스 (브라이언의 고민) Level 3

    Problem : https://programmers.co.kr/learn/courses/30/lessons/1830 코딩테스트 연습 - 브라이언의 고민 programmers.co.kr Approach 2017 카카오코드 예선문제였다. 결과적으로 문제를 통과하진 못했다. 문제의 조건은 다음과 같다. 광고글은 원래 문구에 다음 규칙을 적용하여 만들 수 있다. (규칙 1) 특정 단어를 선택하여 글자 사이마다 같은 기호를 넣는다. ex) HELLO -> HaEaLaLaO (규칙 2) 특정 단어를 선택하여 단어 앞뒤에 같은 기호를 넣는다. ex) WORLD -> bWORLDb 위의 두 가지 규칙은 한 단어에 모두 적용될 수 있지만 같은 규칙은 두 번 적용될 수 없다. 한 번 쓰인 소문자(특수기호)는 다시 쓰일 ..

    [java] 프로그래머스 (추석 트래픽) Level 3

    Problem : https://programmers.co.kr/learn/courses/30/lessons/17676 코딩테스트 연습 - [1차] 추석 트래픽 입력: [ 2016-09-15 20:59:57.421 0.351s, 2016-09-15 20:59:58.233 1.181s, 2016-09-15 20:59:58.299 0.8s, 2016-09-15 20:59:58.688 1.041s, 2016-09-15 20:59:59.591 1.412s, 2016-09-15 21:00:00.464 1.466s, 2016-09-15 21:00:00.741 1.581s, 2016-09-15 21:00:00.748 programmers.co.kr Approach 2018 KAKAO BLIND RECRUITMENT ..

    [java] 프로그래머스 (n진수 게임) Level 2

    Problem : https://programmers.co.kr/learn/courses/30/lessons/17687 코딩테스트 연습 - [3차] n진수 게임 N진수 게임 튜브가 활동하는 코딩 동아리에서는 전통적으로 해오는 게임이 있다. 이 게임은 여러 사람이 둥글게 앉아서 숫자를 하나씩 차례대로 말하는 게임인데, 규칙은 다음과 같다. 숫자를 0 programmers.co.kr Approach 2018 KAKAO BLIND RECRUITMENT 문제였다. 일단 0부터 숫자를 1씩 늘린 숫자를 N진법으로 바꾼 후, 문자열 s에 붙인다. 10진수 A를 N진법으로 바꾸는 방법은 아래와 같다. A를 N으로 나눈 나머지를 리스트의 끝에 저장한다. A를 N으로 나눈 몫을 다시 A에 저장한다. 1번 2번과정을 A가..

    [java] 프로그래머스 (파일명 정렬) Level 2

    Problem : https://programmers.co.kr/learn/courses/30/lessons/17686 코딩테스트 연습 - [3차] 파일명 정렬 파일명 정렬 세 차례의 코딩 테스트와 두 차례의 면접이라는 기나긴 블라인드 공채를 무사히 통과해 카카오에 입사한 무지는 파일 저장소 서버 관리를 맡게 되었다. 저장소 서버에는 프로그램 programmers.co.kr Approach 2018 KAKAO BLIND RECRUITMENT 문제였다. 자바로 풀이하려면 Comparator를 활용하여 정렬의 기준을 override 해주면 된다. 우선 숫자가 나오기 전까지 문자열을 가지고 알파벳 정렬을 수행한 후, 만약 같다면 숫자 부분을 가지고 숫자 정렬을 수행한다. Code import java.util..

    [java] 프로그래머스 (압축) Level 2

    Problem : 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 Approach 2018 KAKAO BLIND RECRUITMENT 문제였다. 우선 'A : 1' ~ 'Z : 26' 까지 hashmap에 put한 후, 주어진 문자열의 앞부터 한 글자씩 순회를 시작한다. 현재 s가 hashmap에 존재한다면 계속하여 문자열을 하나씩 붙여나간다. hashmap에 없는 문자가 생긴다면, 그 문자열을 hashmap에 index+1로 pu..

    [java] 프로그래머스 (방금그곡) Level 2

    Problem : https://programmers.co.kr/learn/courses/30/lessons/17683 코딩테스트 연습 - [3차] 방금그곡 방금그곡 라디오를 자주 듣는 네오는 라디오에서 방금 나왔던 음악이 무슨 음악인지 궁금해질 때가 많다. 그럴 때 네오는 다음 포털의 '방금그곡' 서비스를 이용하곤 한다. 방금그곡에서는 TV, programmers.co.kr Approach 2018 KAKAO BLIND RECRUITMENT 문제였다. 일단 C#, D#, F#, G#, A# 을 각각 a, d, f, g, a로 치환했다. 치환한 후 곡의 플레이시간을 계산하여 곡의 음을 플레이시간만큼 만든다. 만들어진 음의 sequence에서 주어진 m이 있는지를 찾는다. 3번의 결과로 찾아진 것이 여러 ..

    [java] 프로그래머스 (후보키) Level 2

    Problem : https://programmers.co.kr/learn/courses/30/lessons/42890 코딩테스트 연습 - 후보키 [["100","ryan","music","2"],["200","apeach","math","2"],["300","tube","computer","3"],["400","con","computer","4"],["500","muzi","music","3"],["600","apeach","music","2"]] 2 programmers.co.kr Approach 2019 KAKAO BLIND RECRUITMENT 문제였다. 데이터베이스에서 후보키는 유일성과 최소성을 만족시키는 키를 말한다. 유일성(uniqueness) : 릴레이션에 있는 모든 튜플에 대해 유일하게 ..

    [java] 프로그래머스 (오픈채팅방) Level 2

    Problem : https://programmers.co.kr/learn/courses/30/lessons/42888 코딩테스트 연습 - 오픈채팅방 오픈채팅방 카카오톡 오픈채팅방에서는 친구가 아닌 사람들과 대화를 할 수 있는데, 본래 닉네임이 아닌 가상의 닉네임을 사용하여 채팅방에 들어갈 수 있다. 신입사원인 김크루는 카카오톡 오 programmers.co.kr Approach 2019 KAKAO BLIND RECRUITMENT 문제였다. 일단 나는 HashMap을 이용하여 구현했고, 자바에서 HashMap을 사용하면 key가 존재해도 같은 key에 대해 put을 진행하면, 나중에 put된 value로 업데이트를 해준다. 따라서 각 문자열을 공백문자(" ")로 split한 0번째 요소가 "Leave"가..