전체 글

전체 글

    [baekjoon 16928] 뱀과 사다리 게임 (BFS) (C++)

    https://www.acmicpc.net/problem/16928 16928번: 뱀과 사다리 게임 첫째 줄에 게임판에 있는 사다리의 수 N(1 ≤ N ≤ 15)과 뱀의 수 M(1 ≤ M ≤ 15)이 주어진다. 둘째 줄부터 N개의 줄에는 사다리의 정보를 의미하는 x, y (x < y)가 주어진다. x번 칸에 도착하면, y번 칸으 www.acmicpc.net 최소한의 주사위를 굴려서 100까지 가야 하고, 가는 도중에 사다리와 뱀이 있다. 사다리에 해당하면 도착점(100)에 가까워지고, 뱀을 만나면 시작점(1)과 가까워진다. 1. 한 칸에 뱀과 사다리가 이중으로 나오는 경우가 없다고 했으니 1차원 배열에 뱀과 사다리를 모두 입력받았고, 2. 주사위를 통해 (1~6)까지의 이동을 할 수 있으므로 BFS를 하..

    [baekjoon 21924] 도시 건설 (최소 스패닝 트리, 크루스칼, 유니온파인드) (C++)

    https://www.acmicpc.net/problem/21924 21924번: 도시 건설 첫 번째 줄에 건물의 개수 $N$ $(3 \le N \le 10^5 )$와 도로의 개수 $M$ $(2 \le M \le min( {N(N-1) \over 2}, 5×10^5)) $가 주어진다. 두 번째 줄 부터 $M + 1$줄까지 건물의 번호 $a$, $b$ $(1 \le a, b \le N, a ≠ b)$와 두 www.acmicpc.net 일반적인 최소 스패닝 트리를 찾는 문제였다. 하지만 문제를 제대로 안 읽고 급하게 푸느라 바로 정답을 맞히진 못했고 몇 가지 놓친 사항들이 있었다. 1. 수의 범위 (건물의 개수는 10^5개고, 도로의 비용은 최대 10^6이다.) 즉, int의 범위를 넘어간다. 2. 문제의 ..

    [프로그래머스 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인 정사각형 배열 형태로, 각 칸은 "공백"(" ") 또는 "벽"("#") 두 종류로..

    2021 상반기 네이버 공채, 카카오 인턴 코딩 테스트 결과

    2021 상반기 네이버 공채, 카카오 인턴 코딩 테스트 결과

    드디어 결과가 나왔다~ 네이버는 거의 한 달이 걸린 것 같고, 카카오는 일주일 만에 결과가 나왔다. 나는 현재 4-1이고 아직 이르지만 내년 2월 졸업예정의 조건에 해당돼서 네이버와 카카오 둘 다 코딩 테스트 연습 겸 응시를 해봤다. 결과는 네이버는 4문제 중에 1번, 2번 두 문제를 풀었고 탈락했다.. 카카오 또한 5문제 중 두 문제를 풀고 한 문제를 긁었는데 탈락했다 ㅎㅎ 문제는 말할 수 없지만 난이도는 체감상 네이버

    [프로그래머스 LV3] 보석 쇼핑 (투 포인터, map / 2020 카카오 인턴쉽) [C++]

    programmers.co.kr/learn/courses/30/lessons/67258# 코딩테스트 연습 - 보석 쇼핑 ["DIA", "RUBY", "RUBY", "DIA", "DIA", "EMERALD", "SAPPHIRE", "DIA"] [3, 7] programmers.co.kr [본 문제는 정확성과 효율성 테스트 각각 점수가 있는 문제입니다.] 개발자 출신으로 세계 최고의 갑부가 된 어피치는 스트레스를 받을 때면 이를 풀기 위해 오프라인 매장에 쇼핑을 하러 가곤 합니다. 어피치는 쇼핑을 할 때면 매장 진열대의 특정 범위의 물건들을 모두 싹쓸이 구매하는 습관이 있습니다. 어느 날 스트레스를 풀기 위해 보석 매장에 쇼핑을 하러 간 어피치는 이전처럼 진열대의 특정 범위의 보석을 모두 구매하되 특별히 아..

    [프로그래머스 LV2] 괄호 변환 (문자열, 2020 카카오 블라인드 문제) [C++]

    programmers.co.kr/learn/courses/30/lessons/60058 코딩테스트 연습 - 괄호 변환 카카오에 신입 개발자로 입사한 "콘"은 선배 개발자로부터 개발역량 강화를 위해 다른 개발자가 작성한 소스 코드를 분석하여 문제점을 발견하고 수정하라는 업무 과제를 받았습니다. 소스를 programmers.co.kr 용어의 정의 '('와')' 로만 이루어진 문자열이 있을 경우, '('의 개수와 ')'의 개수가 같다면 이를 균형 잡힌 괄호 문자열이라고 부릅니다. 그리고 여기에 '('와 ')'의 괄호의 짝도 모두 맞을 경우에는 이를 올바른 괄호 문자열이라고 부릅니다. 예를 들어, "(()))("와 같은 문자열은 "균형 잡힌 괄호 문자열" 이지만 "올바른 괄호 문자열"은 아닙니다. 반면에 "((..

    [Linux] WSL 우분투 상에서 복사 붙여넣기 (ctrl insert, shift insert)

    [Linux] WSL 우분투 상에서 복사 붙여넣기 (ctrl insert, shift insert)

    WSL은 윈도우에서 경량 가상화 기술을 사용해 리눅스를 구동할 수 있도록 도와주는 기능이다. 리눅스로 작업을 하던 중, 윈도우의 코드를 복사해와서 vim 편집기에 붙여 넣기 할 일이 있었는데 복사 : ctrl + Insert 붙여넣기 : shift+insert를 사용했지만 shift+insert를 하니 키워드만 나오고 붙여 넣기가 되지 않았다. 검색 결과 이 프롬프트 창에서 왼쪽 상단 우분투 이미지에서 왼쪽 클릭 후 속성에 들어간다. 이후 Ctrl+Shift+C/V를 복사 붙여 넣기로 사용에 클릭해준다. 이후 윈도우에서 ctrl insert로 복사하고 ctrl+shift+v를 통해 붙여 넣기가 가능해진다.

    [프로그래머스 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..