프로그래머스

    [프로그래머스 LV2] 카카오프렌즈 컬러링북 (BFS, DFS) / 2017 카카오 코드 예선) [C++]

    [프로그래머스 LV2] 카카오프렌즈 컬러링북 (BFS, DFS) / 2017 카카오 코드 예선) [C++]

    https://programmers.co.kr/learn/courses/30/lessons/1829 코딩테스트 연습 - 카카오프렌즈 컬러링북 6 4 [[1, 1, 1, 0], [1, 2, 2, 0], [1, 0, 0, 1], [0, 0, 0, 1], [0, 0, 0, 3], [0, 0, 0, 3]] [4, 5] programmers.co.kr 카카오 프렌즈 컬러링북 출판사의 편집자인 어피치는 네오에게 컬러링북에 들어갈 원화를 그려달라고 부탁하여 여러 장의 그림을 받았다. 여러 장의 그림을 난이도 순으로 컬러링북에 넣고 싶었던 어피치는 영역이 많으면 색칠하기가 까다로워 어려워진다는 사실을 발견하고 그림의 난이도를 영역의 수로 정의하였다. (영역이란 상하좌우로 연결된 같은 색상의 공간을 의미한다.) 그림에 ..

    [프로그래머스 LV1] 비밀 지도 (이진수, 비트연산, 문자열) / 2018 KAKAO BLIND RECRUITMENT) [C++]

    [프로그래머스 LV1] 비밀 지도 (이진수, 비트연산, 문자열) / 2018 KAKAO BLIND RECRUITMENT) [C++]

    https://programmers.co.kr/learn/courses/30/lessons/17681 코딩테스트 연습 - [1차] 비밀지도 비밀지도 네오는 평소 프로도가 비상금을 숨겨놓는 장소를 알려줄 비밀지도를 손에 넣었다. 그런데 이 비밀지도는 숫자로 암호화되어 있어 위치를 확인하기 위해서는 암호를 해독해야 한다. 다 programmers.co.kr 비밀지도 네오는 평소 프로도가 비상금을 숨겨놓는 장소를 알려줄 비밀지도를 손에 넣었다. 그런데 이 비밀지도는 숫자로 암호화되어 있어 위치를 확인하기 위해서는 암호를 해독해야 한다. 다행히 지도 암호를 해독할 방법을 적어놓은 메모도 함께 발견했다. 지도는 한 변의 길이가 n인 정사각형 배열 형태로, 각 칸은 "공백"(" ") 또는 "벽"("#") 두 종류로..

    [프로그래머스 LV3] 섬 연결하기 (그리디, 유니온파인드) [C++]

    programmers.co.kr/learn/courses/30/lessons/42861 코딩테스트 연습 - 섬 연결하기 4 [[0,1,1],[0,2,2],[1,2,5],[1,3,1],[2,3,8]] 4 programmers.co.kr 주어진 노드와 cost 정보로 최소의 비용으로 섬들 간 연결을 하면 된다. 1 - 2 - 3이 연결되려면 모든 노드가 연결되어 있을 필요가 없이 1 - 2, 2 - 3만 되어있어도 1, 2, 3이 모두 연결되었다고 한다. 처음에 어떻게 풀지 고민을 하다가, 그래프 관련 알고리즘으로 풀어보려고 했다. BFS를 사용하면 방문하는 순서에 따라서 최솟값을 못 찾을 수도 있다는 결론이 나와서 pass (모든 점에서 BFS를 통해 최단 경로를 찾은 뒤, 최저 값을 출력하려고 했지만 c..

    [프로그래머스 SQL] 오랜 기간 보호한 동물(1) (join)

    programmers.co.kr/learn/courses/30/lessons/59044 코딩테스트 연습 - 오랜 기간 보호한 동물(1) ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디 programmers.co.kr JOIN을 이용해서 풀었는데 들어왔지만 나가지 않은 동물 중 기간이 오래된 3마리를 출력하는 것이다. INS에 LEFT JOIN OUTS를 해주었고, 나가지 않았다면 OUTS에 정보가 없을 것이므로 OUTS.ANIMAL_ID IS NULL로 제외시켰다. 또..

    [프로그래머스] 3진법 뒤집기 (n진법, bitset) [C++]

    programmers.co.kr/learn/courses/30/lessons/68935 코딩테스트 연습 - 3진법 뒤집기 자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요. 제한사항 n은 1 이상 100,000,000 이하인 자연수 programmers.co.kr 기본적인 진법 변환과 비트 연산 문제이다. n진법으로 바꾸고 싶으면 주어진 수를 n으로 나눈 나머지를 차곡차곡 저장해주면 된다. 비트 순서가 역순이니 온전히 변환한 비트를 보고 싶으면 나머지를 스택에 저장한 뒤, 스택에서 pop 해주면 원래 비트 순서로 출력이 될 것이다. 이 문제는 문제 제목처럼 뒤집기이므로 나머지를 스택에 저장..

    [프로그래머스] 문자열 내 마음대로 정렬하기(문자열) [C++]

    programmers.co.kr/learn/courses/30/lessons/12915 코딩테스트 연습 - 문자열 내 마음대로 정렬하기 문자열로 구성된 리스트 strings와, 정수 n이 주어졌을 때, 각 문자열의 인덱스 n번째 글자를 기준으로 오름차순 정렬하려 합니다. 예를 들어 strings가 [sun, bed, car]이고 n이 1이면 각 단어의 인덱스 1 programmers.co.kr - 프로그래머스로 기본 구현, 문자열 연습 중이다. #include #include #include using namespace std; vector solution(vector strings, int n) { vector answer; vector sorting; for(int i = 0 ; i < strings..