본문 바로가기

전체 글

(72)
[2020 카카오 인턴십] 동굴 탐험 programmers.co.kr/learn/courses/30/lessons/67260 코딩테스트 연습 - 동굴 탐험 9 [[0,1],[0,3],[0,7],[8,1],[3,6],[1,2],[4,7],[7,5]] [[8,5],[6,7],[4,1]] true 9 [[8,1],[0,1],[1,2],[0,7],[4,7],[0,3],[7,5],[3,6]] [[4,1],[5,2]] true 9 [[0,1],[0,3],[0,7],[8,1],[3,6],[1,2],[4,7],[7,5]] [[4,1],[8,7],[6,5]] false programmers.co.kr tech.kakao.com/2020/07/01/2020-internship-test/ 2020 카카오 인턴십 for Tech developers 문제해설 20..
[백준] 1261번: 알고스팟 www.acmicpc.net/problem/1261 1261번: 알고스팟 첫째 줄에 미로의 크기를 나타내는 가로 크기 M, 세로 크기 N (1 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 미로의 상태를 나타내는 숫자 0과 1이 주어진다. 0은 빈 방을 의미하고, 1은 벽을 의미 www.acmicpc.net #include #include #include using namespace std; const int MAX = 10000; const int dx[] = { 0, 0, 1, -1 }; const int dy[] = { 1, -1, 0, 0 }; typedef pair P; int dist[100][100]; struct cmp { bool operator()(P a, P b) { ret..
[2020 카카오 인턴십] 경주로 건설 programmers.co.kr/learn/courses/30/lessons/67259 코딩테스트 연습 - 경주로 건설 [[0,0,0,0,0,0,0,1],[0,0,0,0,0,0,0,0],[0,0,0,0,0,1,0,0],[0,0,0,0,1,0,0,0],[0,0,0,1,0,0,0,1],[0,0,1,0,0,0,1,0],[0,1,0,0,0,1,0,0],[1,0,0,0,0,0,0,0]] 3800 [[0,0,1,0],[0,0,0,0],[0,1,0,1],[1,0,0,0]] 2100 [[0,0,0,0,0,0],[0,1,1,1,1,0],[0,0,1,0,0,0],[1,0,0,1,0,1],[ programmers.co.kr #include #include #include using namespace std; const in..
[2020 카카오 인턴십] 보석 쇼핑 programmers.co.kr/learn/courses/30/lessons/67258 코딩테스트 연습 - 보석 쇼핑 ["DIA", "RUBY", "RUBY", "DIA", "DIA", "EMERALD", "SAPPHIRE", "DIA"] [3, 7] programmers.co.kr #include #include #include #include using namespace std; vector solution(vector gems) { vector answer(2); unordered_set s; for (string gem : gems) s.insert(gem); unordered_map m; int start = 0; int end; int cnt = 100001; for (end = 0; end ..
[2020 카카오 인턴십] 키패드 누르기 programmers.co.kr/learn/courses/30/lessons/67256 코딩테스트 연습 - 키패드 누르기 [1, 3, 4, 5, 8, 2, 1, 4, 5, 9, 5] "right" "LRLLLRLLRRL" [7, 0, 8, 2, 8, 3, 1, 5, 7, 6, 2] "left" "LRLLRRLLLRR" [1, 2, 3, 4, 5, 6, 7, 8, 9, 0] "right" "LLRLLRLLRL" programmers.co.kr #include #include #include using namespace std; string solution(vector numbers, string hand) { string answer = ""; bool isRight = hand == "right"; pa..
[프로그래머스] 기지국 설치 https://programmers.co.kr/learn/courses/30/lessons/12979 코딩테스트 연습 - 기지국 설치 N개의 아파트가 일렬로 쭉 늘어서 있습니다. 이 중에서 일부 아파트 옥상에는 4g 기지국이 설치되어 있습니다. 기술이 발전해 5g 수요가 높아져 4g 기지국을 5g 기지국으로 바꾸려 합니다. 그런데 5 programmers.co.kr while문 돌면서 기지국을 왼쪽부터 하나씩 찍어가는 방식(?)으로 해도 괜찮았을거 같은데 인덱스를 잘못 지정했는지 값이 제대로 안나오길래 각각의 간격 별로 기지국을 몇 개 설치해야 하는지 구하는 식으로 풀었다. Math.ceil을 썼더니 효율성에서 시간 초과가 나서..ㅜㅜ 실수연산은 가급적 하지 말아야겠다는 교훈을 얻었다. class Sol..
[프로그래머스] 방문 길이 https://programmers.co.kr/learn/courses/30/lessons/49994 코딩테스트 연습 - 방문 길이 programmers.co.kr 구현 실수만 하지 않는다면 쉽게 풀리지 않을까 싶다. 나는 지나간 길을 visited 배열에 마킹하는 방식으로 풀었는데 HashSet으로 풀어도 될 듯 하다. 좌표평면의 한 칸이 아니라 모서리를 저장해야 하므로 이런 식으로 윗면과 옆면을 따로 저장하기 위해 3차원 배열로 선언했다. class Solution { public int solution(String dirs) { int answer = 0; // 순서대로 UDLR // visited에 기록하기 위한 배열 int[] x1 = {-1, 0, 0, 0}; int[] y1 = {0, 0, ..
[프로그래머스] 배달 - Java https://programmers.co.kr/learn/courses/30/lessons/12978 코딩테스트 연습 - 배달 5 [[1,2,1],[2,3,3],[5,2,2],[1,4,2],[5,3,1],[5,4,2]] 3 4 6 [[1,2,1],[1,3,2],[2,3,2],[3,4,3],[3,5,2],[3,5,3],[5,6,1]] 4 4 programmers.co.kr import java.util.Arrays; import java.util.Comparator; import java.util.PriorityQueue; class Solution { public int solution(int N, int[][] road, int K) { final int MAX = 1000000; int answer ..