본문 바로가기

Algorithm

(5)
2020 카카오 인턴십 코딩테스트 후기 https://careers.kakao.com/2020-intern 2020 kakao internship 2020 kakao internship careers.kakao.com 오늘은 카카오 인턴십 코딩테스트 시험을 치렀습니다. 이번이 카카오 3번 째 코딩테스트 도전인데 그동안의 공부가 효과가 있었는지 5문제 모두 맞았습니다. 총 5문제가 출제되었습니다. 저작권 문제로 문제를 전부 올릴 수 없어 간단한 문제 설명 및 풀이만 작성하였습니다. 댓글로 이메일 남겨주시면 문제 보내드리겠습니다. [1번 문제] 아래와 같은 전화 키패드가 있습니다. 1 2 3 4 5 6 7 8 9 * 0 # 이 전화 키패드에서 왼손 엄지와 오른손 엄지만을 이용해 숫자만을 입력할 때 입력의 시작에서 왼손 엄지는 *에 오른손 엄지는#..
2020 Dev-Matching: 웹 백엔드 코딩테스트 후기 https://programmers.co.kr/competitions/144/2020-web-be-first 2020 Dev-Matching: 웹 백엔드 개발자(상반기) 접수 20년 03월 30일 12:00 ~ 04월 17일 18:00 진행 20년 04월 18일 13:00 ~ 04월 18일 15:00 programmers.co.kr [ALGORITHM] [1번 문제] 숫자로만 이루어진 Source 문자열과 Taget 문자열이 주어지며 두 문자열의 길이는 같을때 Source 문자열의 하나의 숫자를 1늘리는 연산과 1줄이는 연산이 있는데 연산의 횟수를 최소로하여 Source 문자열을 Target 문자열로 만들었을 때 연산의 최솟값을 출력하는 문제였습니다. [1번 풀이] source 문자열과 target 문자..
[BOJ] 17071 숨박꼭질5 https://www.acmicpc.net/problem/17071 17071번: 숨바꼭질 5 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 500,000)에 있고, 동생은 점 K(0 ≤ K ≤ 500,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 때 걷는다면 1초 후에 X-1 또는 X+1로 이동하게 된다. 순간이동을 하는 경우에는 1초 후에 2*X의 위치로 이동하게 된다. 동생은 항상 걷기만 한다. 동생은 항상 매 초마다 이동을 하며, 이동은 가속이 붙는다. 동생이 이동하는 거 www.acmicpc.net BFS 를 통해 해결하였습니다. 각 좌표에 대해 가장 먼저 도착하는 시간을 저장시켰습니다. 도착이후 2의 배수번을 더하면(+1 이..
[BOJ] 2580 스도쿠 https://www.acmicpc.net/problem/2580 2580번: 스도쿠 스도쿠는 18세기 스위스 수학자가 만든 '라틴 사각형'이랑 퍼즐에서 유래한 것으로 현재 많은 인기를 누리고 있다. 이 게임은 아래 그림과 같이 가로, 세로 각각 9개씩 총 81개의 작은 칸으로 이루어진 정사각형 판 위에서 이뤄지는데, 게임 시작 전 몇 몇 칸에는 1부터 9까지의 숫자 중 하나가 쓰여 있다. 나머지 빈 칸을 채우는 방식은 다음과 같다. 각각의 가로줄과 세로줄에는 1부터 9까지의 숫자가 한 번씩만 나타나야 한다. 굵은 선으로 구분되어 있는 3 www.acmicpc.net 스도쿠 배열을 입력받는 중 입력값이 0인 좌표를 vector v에 저장하고 입력이 종료된 후 v에있는 좌표를 뽑아 1~9의 값을 각각 넣어..
[BOJ] 9935 문자열 폭발 https://www.acmicpc.net/problem/9935 9935번: 문자열 폭발 문제 상근이는 문자열에 폭발 문자열을 심어 놓았다. 폭발 문자열이 폭발하면 그 문자는 문자열에서 사라지며, 남은 문자열은 합쳐지게 된다. 폭발은 다음과 같은 과정으로 진행된다. 문자열이 폭발 문자열을 포함하고 있는 경우에, 모든 폭발 문자열이 폭발하게 된다. 남은 문자열을 순서대로 이어 붙여 새로운 문자열을 만든다. 새로 생긴 문자열에 폭발 문자열이 포함되어 있을 수도 있다. 폭발은 폭발 문자열이 문자열에 없을 때까지 계속된다. 상근이는 모든 폭발이 끝난 www.acmicpc.net 개인적으로 재미있게 푼 문제입니다. 문자열을 문자단위로 쪼개서 Stack에 넣고 쪼개져 들어오는 문자를 하나씩 검사해 "현재 바라보고..