전체 글

전체 글

    [프로그래머스 2018 KAKAO BLIND RECRUITMENT 3차] 방금 그곡 (문자열, ) [C++]

    https://programmers.co.kr/learn/courses/30/lessons/17683 코딩테스트 연습 - [3차] 방금그곡 방금그곡 라디오를 자주 듣는 네오는 라디오에서 방금 나왔던 음악이 무슨 음악인지 궁금해질 때가 많다. 그럴 때 네오는 다음 포털의 '방금그곡' 서비스를 이용하곤 한다. 방금그곡에서는 TV, programmers.co.kr 신경 쓸게 많은 까다로운 문제였다. 내가 문제를 푼 순서는 1. 입력값으로 주어진 musicInfos를 파싱 했다. - split 함수를 통해 vector 으로 바꿨다. 2. 파싱 한 값들 중 HH:MM 형식의 시간 데이터를 int형으로 변환했다. - convert함수를 통해 int형으로 변경 3. string형태의 melody를 split 해줬다...

    [프로그래머스 위클리 챌린지] 피로도 (완전탐색, next_permutation) [C++]

    https://programmers.co.kr/learn/courses/30/lessons/87946 코딩테스트 연습 - 피로도 XX게임에는 피로도 시스템(0 이상의 정수로 표현합니다)이 있으며, 일정 피로도를 사용해서 던전을 탐험할 수 있습니다. 이때, 각 던전마다 탐험을 시작하기 위해 필요한 "최소 필요 피로도"와 던 programmers.co.kr 각 던전에는 입장할 수 있는 최소 피로도, 던전을 돌고 나면 소모되는 피로도가 주어진다. 전체 피로도가 주어지고, 던전을 입장하면서 최대 몇 개의 던전을 돌 수 있는지 구한다. 처음엔 그리디 같은 걸 생각했지만, 던전의 개수도 8개 이하이기 때문에 완전 탐색으로 풀었다. 완전 탐색으로 던전을 진입하는 순서를 만들고, 각 순서 쌍마다 다 던전을 돌아보는 방..

    [AWS EC2] 시스템 호스트네임 변경하기 - Amazon Linux AMI 1, 2

    [AWS EC2] 시스템 호스트네임 변경하기 - Amazon Linux AMI 1, 2

    EC2를 생성하고 나면 콘솔에 ec2-user@ip-172-xx-xx-xxx ~ 로 뜨는 것을 확인할 수 있다. 여러 서버를 관리 중일 경우 IP만으로 어떤 서비스의 서버인지 확인이 어렵기 때문에 HostName을 변경하는 것이 좋다. 프리티어 기준 AMI 1, 2의 케이스로 나누면 1. Amazone Linux AMI 1의 경우 - 쉘에서 해당 명령어 입력 sudo vim /etc/sysconfig/network 이후 NETWORKING=yes HOSTNAME=localhost.localdomain NOZEROCONF=yes 의 내용을 가진 화면이 뜰 것이다. 해당 창에서 편집을 위해 "i" (insert)를 누르고, HOSTNAME=내가 바꾸고 싶은 이름으로 변경해준다. 이후 esc -> :wq (저..

    [baekjoon 22867] 종점 (스위핑, 문자열, 정렬) (C++)

    https://www.acmicpc.net/problem/22867 22867번: 종점 주행을 마친 버스들이 종점에 들어온다. 종점에 들어온 버스는 버스를 정비하기 위한 자리에 들어간다. 즉, 종점에 버스 4대가 있다면 버스를 정비할 수 있는 공간이 최소 4개 이상 필요하다. www.acmicpc.net 버스들이 정류장에 들어오고, 나가는데 정류장에 최대 몇 대가 머무르다 가는지 출력하는 문제이다. 나는 처음에 시간을 모두 파싱 해서, 모두 ms로 단위를 바꿔준 다음에 누적합 풀듯이 풀었다. 시각 * 3600 * 1000 + 분 * 60 * 1000 + 초 * 1000 + 밀리초 그래서 총배열의 크기가 86400000이지만 메모리 제한이 1024mb라 통과했다. 하지만 더 간단한 방법이 있다. 어차피 시..

    [프로그래머스 2019 카카오 개발자 겨울 인턴십] 징검다리 건너기 (파라매트릭 서치) [C++]

    https://programmers.co.kr/learn/courses/30/lessons/64062 코딩테스트 연습 - 징검다리 건너기 [2, 4, 5, 3, 2, 1, 4, 2, 5, 1] 3 3 programmers.co.kr n이 20만이고 각 배열의 최댓값(m)은 2억이다. 따라서 매번 모든 배열에 -1을 빼주면서 k개 이내의 돌다리를 건너는 게 가능한지 확인하는 방법은 시간 초과가 날 것이다. 따라서 파라매트릭 서치를 사용했다. 이분 탐색으로 몇 번째에 건너지 못하는지를 찾는 것이다. 그렇게 되면 건너는 게 가능한지 확인하는 O(n) * 적당한 값을 이분 탐색하는 logm이므로 O(nlogm)에 해결이 가능하다. #include #include #include using namespace st..

    [프로그래머스 2019 카카오 개발자 겨울 인턴십] 불량 사용자 (DFS, 조합) [C++]

    https://programmers.co.kr/learn/courses/30/lessons/64064 코딩테스트 연습 - 불량 사용자 개발팀 내에서 이벤트 개발을 담당하고 있는 "무지"는 최근 진행된 카카오이모티콘 이벤트에 비정상적인 방법으로 당첨을 시도한 응모자들을 발견하였습니다. 이런 응모자들을 따로 모아 불량 programmers.co.kr 불량 사용자로 판단되는 아이디의 경우를 찾는 문제이다. 1. *로 일부분 마스킹된 banned_id와 user_id가 일치하는지 확인해야 한다. - 이건 문자열 하나씩 보면서 일치하는지, 불일치하는지 확인하면 된다. *인 경우는 패스, 길이도 봐야 한다. 2. 찾은 user_id로 중복을 제외하고 경우의 수를 찾아야 한다. - 나는 처음에 각 banned_id에..

    [프로그래머스 2021 Dev-Matching: 웹 백엔드 개발자 상반기 SQL] 헤비 유저가 소유한 장소

    [프로그래머스 2021 Dev-Matching: 웹 백엔드 개발자 상반기 SQL] 헤비 유저가 소유한 장소

    https://programmers.co.kr/learn/courses/30/lessons/77487 코딩테스트 연습 - 헤비 유저가 소유한 장소 PLACES 테이블은 공간 임대 서비스에 등록된 공간의 정보를 담은 테이블입니다. PLACES 테이블의 구조는 다음과 같으며 ID, NAME, HOST_ID는 각각 공간의 아이디, 이름, 공간을 소유한 유저의 아이디를 programmers.co.kr 이 서비스에서는 공간을 둘 이상 등록한 사람을 "헤비 유저"라고 부릅니다. 헤비 유저가 등록한 공간의 정보를 아이디 순으로 조회하는 SQL문을 작성해주세요. 서브 쿼리를 통해 places 테이블에서 host_id로 groupBy를 하고 조건으로 1보다 많은 아이디를 찾는다. 이후에 select의 조건으로 in 키워..

    [baekjoon 22860] 폴더 정리(small) (DFS, BFS, 구현, HashMap) (C++)

    [baekjoon 22860] 폴더 정리(small) (DFS, BFS, 구현, HashMap) (C++)

    https://www.acmicpc.net/problem/22860 22860번: 폴더 정리 (small) main 폴더 하위에는 FolderA 폴더 하위에 있는 File1, File2, FolderB 폴더 하위에 있는 File1, File3이 있다. 파일의 종류는 File1, File2, File3 총 3가지이고, 파일의 총 개수는 File1, File2, File1, File3 총 4개이다. mai www.acmicpc.net 이름이 main 폴더 안에 여러 가지 파일과 폴더가 존재한다. 위 구조는 main 폴더의 하위 구조를 계층적으로 표시한 것이다. FolderA, FolderB, FolderC는 폴더이고 File1, File2, File3은 파일이다. 파일 이름이 같은 경우는 동일한 파일이다. ..