전체 글

전체 글

    파이썬(Python) 알고리즘 문제풀이 베스트앨범 [프로그래머스 / Hash]

    문제 설명 n개의 노드가 있는 그래프가 있습니다. 각 노드는 1부터 n까지 번호가 적혀있습니다. 1번 노드에서 가장 멀리 떨어진 노드의 갯수를 구하려고 합니다. 가장 멀리 떨어진 노드란 최단경로로 이동했을 때 간선의 개수가 가장 많은 노드들을 의미합니다. 노드의 개수 n, 간선에 대한 정보가 담긴 2차원 배열 vertex가 매개변수로 주어질 때, 1번 노드로부터 가장 멀리 떨어진 노드가 몇 개인지를 return 하도록 solution 함수를 작성해주세요. 제한사항 1. 노드의 개수 n은 2 이상 20,000 이하입니다. 2. 간선은 양방향이며 총 1개 이상 50,000개 이하의 간선이 있습니다. 3. vertex 배열 각 행 [a, b]는 a번 노드와 b번 노드 사이에 간선이 있다는 의미입니다. 입출력 ..

    파이썬(Python) 알고리즘 문제풀이 베스트앨범 [프로그래머스 / Hash]

    문제 설명 스트리밍 사이트에서 장르 별로 가장 많이 재생된 노래를 두 개씩 모아 베스트 앨범을 출시하려 합니다. 노래는 고유 번호로 구분하며, 노래를 수록하는 기준은 다음과 같습니다. 1. 속한 노래가 많이 재생된 장르를 먼저 수록합니다. 2. 장르 내에서 많이 재생된 노래를 먼저 수록합니다. 3. 장르 내에서 재생 횟수가 같은 노래 중에서는 고유 번호가 낮은 노래를 먼저 수록합니다. 노래의 장르를 나타내는 문자열 배열 genres와 노래별 재생 횟수를 나타내는 정수 배열 plays가 주어질 때, 베스트 앨범에 들어갈 노래의 고유 번호를 순서대로 return 하도록 solution 함수를 완성하세요. 제한사항 1. genres[i]는 고유번호가 i인 노래의 장르입니다. 2. plays[i]는 고유번호가 ..

    2023.07.17 (월요일) ~ 2023.07.22 (토요일) 주간 및 일일 학습계획

    주간목표 2023.07.17 ~ 2023.07.21 컨디션 관리 정보처리기사 실기시험 주 3회 이상 운동 정보처리기사 실기 기출문제 반복풀이 및 시험 전날까지 최종 마무리 특강 n 회독 일일목표 2023.07.17 (월요일) 정보처리기사 실기 최종 최종 특강 1회독 완료 정보처리기사 실기 기출문제 오답노트 제작 일일목표 2023.07.18 (화요일) 정보처리기사 실기 기출문제 오답노트 제작 정보처리기사 실기 최종 특강 복습 문제 풀이 전략 해시 마무리 베스트 앨범 (Level 3) 일일목표 2023.07.19 (수요일) 정보처리기사 실기 준비 일일목표 2023.07.20 (목요일) 정보처리기사 실기 준비 일일목표 2023.07.21 (금요일) 정보처리기사 실기 준비 마무리 일일목표 2023.07.22 (..

    파이썬(Python) 알고리즘 문제풀이 오픈채팅방 [프로그래머스 / Hash]

    문제 설명 카카오톡 오픈채팅방에서는 친구가 아닌 사람들과 대화를 할 수 있는데, 본래 닉네임이 아닌 가상의 닉네임을 사용하여 채팅방에 들어갈 수 있다. 신입사원인 김크루는 카카오톡 오픈 채팅방을 개설한 사람을 위해, 다양한 사람들이 들어오고, 나가는 것을 지켜볼 수 있는 관리자창을 만들기로 했다. 채팅방에 누군가 들어오면 다음 메시지가 출력된다. "[닉네임]님이 들어왔습니다." 채팅방에서 누군가 나가면 다음 메시지가 출력된다. "[닉네임]님이 나갔습니다." 채팅방에서 닉네임을 변경하는 방법은 다음과 같이 두 가지이다. 1. 채팅방을 나간 후, 새로운 닉네임으로 다시 들어간다. 2. 채팅방에서 닉네임을 변경한다. 닉네임을 변경할 때는 기존에 채팅방에 출력되어 있던 메시지의 닉네임도 전부 변경된다. 예를 들..

    파이썬(Python) 알고리즘 문제풀이 의상(위장) [프로그래머스 / Hash]

    문제 설명 코니는 매일 다른 옷을 조합하여 입는것을 좋아합니다. 예를 들어 코니가 가진 옷이 아래와 같고, 오늘 코니가 동그란 안경, 긴 코트, 파란색 티셔츠를 입었다면 다음날은 청바지를 추가로 입거나 동그란 안경 대신 검정 선글라스를 착용하거나 해야합니다. 종류 이름 얼굴 동그란 안경, 검정 선글라스 상의 파란색 티셔츠 하의 청바지 겉옷 긴 코트 1. 코니는 각 종류별로 최대 1가지 의상만 착용할 수 있습니다. 예를 들어 위 예시의 경우 동그란 안경과 검정 선글라스를 동시에 착용할 수는 없습니다. 2. 착용한 의상의 일부가 겹치더라도, 다른 의상이 겹치지 않거나, 혹은 의상을 추가로 더 착용한 경우에는 서로 다른 방법으로 옷을 착용한 것으로 계산합니다.코니는 하루에 최소 한 개의 의상은 입습니다. 3...

    파이썬(Python) 알고리즘 문제풀이 전화번호 목록 [프로그래머스 / Hash]

    문제 설명 전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인하려 합니다. 전화번호가 다음과 같을 경우, 구조대 전화번호는 영석이의 전화번호의 접두사입니다. 구조대 : 119 박준영 : 97 674 223 지영석 : 11 9552 4421 전화번호부에 적힌 전화번호를 담은 배열 phone_book 이 solution 함수의 매개변수로 주어질 때, 어떤 번호가 다른 번호의 접두어인 경우가 있으면 false를 그렇지 않으면 true를 return 하도록 solution 함수를 작성해주세요. 제한사항 1. phone_book의 길이는 1 이상 1,000,000 이하입니다. 2. 각 전화번호의 길이는 1 이상 20 이하입니다. 3. 같은 전화번호가 중복해서 들어있지 않습니다. 입..

    파이썬(Python) 알고리즘 문제풀이 완주하지 못한 선수 [프로그래머스 / Hash]

    문제 설명 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수들의 이름이 담긴 배열 completion이 주어질 때, 완주하지 못한 선수의 이름을 return 하도록 solution 함수를 작성해주세요. 제한사항 1. 마라톤 경기에 참여한 선수의 수는 1명 이상 100,000명 이하입니다. 2. completion의 길이는 participant의 길이보다 1 작습니다. 3. 참가자의 이름은 1개 이상 20개 이하의 알파벳 소문자로 이루어져 있습니다. 4. 참가자 중에는 동명이인이 있을 수 있습니다. 입출력 예시 participant completion result..

    파이썬(Python) 알고리즘 문제풀이 징검다리 건너기 [프로그래머스 / 이분탐색]

    문제 설명 [본 문제는 정확성과 효율성 테스트 각각 점수가 있는 문제입니다.] 카카오 초등학교의 "니니즈 친구들"이 "라이언" 선생님과 함께 가을 소풍을 가는 중에 징검다리가 있는 개울을 만나서 건너편으로 건너려고 합니다. "라이언" 선생님은 "니니즈 친구들"이 무사히 징검다리를 건널 수 있도록 다음과 같이 규칙을 만들었습니다. - 징검다리는 일렬로 놓여 있고 각 징검다리의 디딤돌에는 모두 숫자가 적혀 있으며 디딤돌의 숫자는 한 번 밟을 때마다 1씩 줄어듭니다. - 디딤돌의 숫자가 0이 되면 더 이상 밟을 수 없으며 이때는 그 다음 디딤돌로 한번에 여러 칸을 건너 뛸 수 있습니다. - 단, 다음으로 밟을 수 있는 디딤돌이 여러 개인 경우 무조건 가장 가까운 디딤돌로만 건너뛸 수 있습니다. - "니니즈 친..

    파이썬(Python) 알고리즘 문제풀이 징검다리 [프로그래머스 / 이분탐색]

    문제 설명 출발지점부터 distance만큼 떨어진 곳에 도착지점이 있습니다. 그리고 그사이에는 바위들이 놓여있습니다. 바위 중 몇 개를 제거하려고 합니다. 예를 들어, 도착지점이 25만큼 떨어져 있고, 바위가 [2, 14, 11, 21, 17] 지점에 놓여있을 때 바위 2개를 제거하면 출발지점, 도착지점, 바위 간의 거리가 아래와 같습니다. 제거한 바위의 위치 각 바위 사이의 거리 거리의 최솟값 [21, 17] [2, 9, 3, 11] 2 [2, 21] [11, 3, 3, 8] 3 [2, 11] [14, 3, 4, 4] 3 [11, 21] [2, 12, 3, 8] 2 [2, 14] [11, 6, 4, 4] 4 위에서 구한 거리의 최솟값 중에 가장 큰 값은 4입니다. 출발지점부터 도착지점까지의 거리 dis..

    2023.07.10 (월요일) ~ 2023.07.14 (금요일) 주간 및 일일 학습계획

    주간목표 2023.07.10 ~ 2023.07.14 컨디션 관리 주 3회 이상 운동 문제 풀이 전략 이진 탐색, 해시 복습 완료 정보처리기사 실기 기출문제 반복풀이 및 마무리 특강 완강 일일목표 2023.07.10 (월요일) 정보처리기사 실기 데이터베이스 특강 마무리 정보처리기사 실기 예상 문제 3회분 풀이 문제 풀이 전략 이진탐색 복습 마무리 징검다리 (Level 4) 징검다리 건너기 (Level 3) 일일목표 2023.07.11 (화요일) 정보처리기사 실기 마무리 특강 학습 시작 소프트웨어 구축(1) 소프트웨어 구축(2) 소프트웨어 구축(3) 소프트웨어 구축(4) 소프트웨어 구축(5) 정보처리기사 실기 예상 문제 3회분 풀이 문제 풀이 전략 해시 복습 시작 완주하지 못한 선수 (Level 1) 전화번..