알고리즘/programmers 279

[Programmers] 방금그곡

문제 링크입니다: https://programmers.co.kr/learn/courses/30/lessons/17683 코딩테스트 연습 - [3차] 방금그곡 방금그곡 라디오를 자주 듣는 네오는 라디오에서 방금 나왔던 음악이 무슨 음악인지 궁금해질 때가 많다. 그럴 때 네오는 다음 포털의 '방금그곡' 서비스를 이용하곤 한다. 방금그곡에서는 TV, programmers.co.kr 문제에서 주어진대로 풀면 되는 문제였는데 #이 붙어 있는 음 처리가 까다로운 문제였습니다. 알고리즘은 아래와 같습니다. 1. 각 음악의 재생시간을 구하고 2. 멜로디가 해당 곡에 포함되어 있는지를 확인합니다. 2.1 #이 붙어있는 음은 하나로 처리해야하므로 이러한 음들에 대해서는 하나의 알파벳으로 치환해줍니다. ex) A# -> H..

[Programmers] [1차] 프렌즈4블록

문제 링크입니다: https://programmers.co.kr/learn/courses/30/lessons/17679 코딩테스트 연습 - [1차] 프렌즈4블록 프렌즈4블록 블라인드 공채를 통과한 신입 사원 라이언은 신규 게임 개발 업무를 맡게 되었다. 이번에 출시할 게임 제목은 "프렌즈4블록". 같은 모양의 카카오프렌즈 블록이 2×2 형태로 4개가 붙 programmers.co.kr 백준 11499번 Puyo Puyo(https://jaimemin.tistory.com/722)와 비슷한 문제였습니다. 알고리즘은 아래와 같습니다. 1. 좌상단에서 우하단으로 순차적으로 탐색을 진행하며 깨뜨릴 수 있는 블록들의 좌상단 좌표들을 큐에 넣어줍니다. 2. 해당 좌표들에 'X' 표시를 해주며 표시를 하면서 개수를..

[Programmers] 후보키

문제 링크입니다: 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 모든 경우의 수를 시뮬레이션하는 문제였습니다. 알고리즘은 아래와 같습니다. 1. 각 칼럼들의 값들을 미리 전처리하여 분류합니다. 2. 모든 키의 조합에 대해 시뮬레이션을 진행합니다. 2.1 isCandidateKey 메서드..

[Programmers] 튜플

문제 링크입니다: 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 해쉬 자료구조를 적절히 이용하면 쉽게 풀 수 있는 문제였습니다. 알고리즘은 아래와 같습니다. 1. 문자열을 파싱하여 set에 등장한 숫자들을 저장하고 map에 숫자가 몇 번 등장했는지 저장합니다. 2. 튜플의 순서는 숫자가 등장한 순서대로이므로 1번에서 도출한 set과 map을 이용하여 답을 ..

[Programmers] 수식 최대화

문제 링크입니다: https://programmers.co.kr/learn/courses/30/lessons/67257 코딩테스트 연습 - 수식 최대화 IT 벤처 회사를 운영하고 있는 라이언은 매년 사내 해커톤 대회를 개최하여 우승자에게 상금을 지급하고 있습니다. 이번 대회에서는 우승자에게 지급되는 상금을 이전 대회와는 다르게 다음과 programmers.co.kr 오랜만에 자료구조 후위 연산을 복습할 수 있었던 문제였습니다. (이 문제가 과연 아무 레퍼런스 없이 코딩을 했을 때 겨우 Level 2 일지는 의문입니다.) 알고리즘은 아래와 같습니다. 1. +, -, * 우선순위를 부여할 수 있는 가지수는 총 6가지이므로 next_permutation을 이용하여 모든 가짓수에 대해 시뮬레이션을 진행합니다. ..

[Programmers] 거리두기 확인하기

문제 링크입니다: https://programmers.co.kr/learn/courses/30/lessons/81302 코딩테스트 연습 - 거리두기 확인하기 [["POOOP", "OXXOX", "OPXPX", "OOXOX", "POXXP"], ["POOPX", "OXPXP", "PXXXO", "OXXXO", "OOOPP"], ["PXOPX", "OXOXP", "OXPOX", "OXXOP", "PXPOX"], ["OOOXX", "XOOOX", "OOOXX", "OXOOX", "OOOOO"], ["PXPXP", "XPXPX", "PXPXP", "XPXPX", "PXPXP"]] [1, 0, 1, 1, 1] programmers.co.kr 문제에서 주어진대로 풀면 되는 시뮬레이션 문제였습니다. 개발환경: Pro..

[Programmers] [1차] 뉴스 클러스터링

문제 링크입니다: https://programmers.co.kr/learn/courses/30/lessons/17677 코딩테스트 연습 - [1차] 뉴스 클러스터링 뉴스 클러스터링 여러 언론사에서 쏟아지는 뉴스, 특히 속보성 뉴스를 보면 비슷비슷한 제목의 기사가 많아 정작 필요한 기사를 찾기가 어렵다. Daum 뉴스의 개발 업무를 맡게 된 신입사원 튜브 programmers.co.kr 해시를 이용하여 문제에서 주어진대로 풀면 되는 문제였습니다. 개발환경: Programmers IDE 지적, 조언, 질문 환영입니다! 댓글 남겨주세요~

[Programmers] 괄호 변환

문제 링크입니다: https://programmers.co.kr/learn/courses/30/lessons/60058 코딩테스트 연습 - 괄호 변환 카카오에 신입 개발자로 입사한 "콘"은 선배 개발자로부터 개발역량 강화를 위해 다른 개발자가 작성한 소스 코드를 분석하여 문제점을 발견하고 수정하라는 업무 과제를 받았습니다. 소스를 programmers.co.kr 문제에 주어진 절차대로 풀면 되는 문제였습니다. 개발환경: Programmers IDE 지적, 조언, 질문 환영입니다! 댓글 남겨주세요~