본문 바로가기

코딩테스트!(프로그래머스 & 백준)/프로그래머스-C++83

코딩 테스트 -- GPS - (프로그래머스 / C++) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 요약 여러 거점과 그 거점들을 이어놓은 양방향 경로들이 존재할때, 길찾기를 통해 경로를 설정해주는 어플이 있다고합니다. 그런데 이 어플에 경로를 이탈하는 문제가 발생하여 이를 수정하려 하는 알고리즘을 개발하려 할때 다음과 같은 조건을 지켜 도착지점으로 안내하도록 하는 최소한의 수정횟수를 구하는 문제! 1. 출발지와 도착지는 문제가없다. 2. 거점을 돌아갈수도, 머무를수도 있다. 3. 수정이 불가능할 경우 -1을 출력한다. 문제에서 주어진 그림만 보았을때에는 DFS,BFS 탐색을 통해 경로의 수정횟수를 알.. 2024. 4. 4.
코딩테스트 -- 2차원 동전 뒤집기 - (프로그래머스 / C++) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 요약 직사각형의 판위에 동전을 가지런히 나열하여 놓여져 있는 상태에서 동전을 뒤집는 놀이를 한다고 합니다. 이상태에서 동전을 한번 뒤집을때 행과 열의 돌들을 모두 뒤집어야하는 게임이라고합니다. 여기서 저희가 구해야 하는것은 목표상태를 최소의 뒤집기 횟수로 도달하는가, 그리고 최소횟수는 얼마인가 하는것입니다! 이전 글에서 풀었던 고고학 문제와 약간 비슷한 류인것 같았습니다. 똑같이 판에서 게임을 진행하고 동전을 뒤집을때 마다 다음 경우의 수가 한정되는듯 보였습니다. 동전을 뒤집을 경우 행과 열이 같이 뒤집.. 2024. 4. 3.
코딩테스트 -- 고고학 최고의 발견 - (프로그래머스 / C++) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제요약! n*n 배열의 각 칸에 상하좌우로 시곗바늘이 각 방향을 가지고 배치되어있는 퍼즐이 있다고 합니다. 시곗바늘은 다음과 같은 조건을 가지고 회전가능합니다. 1. 시계방향으로 회전가능 2. 돌린 칸의 상하좌우 칸의 시곗바늘도 같이 회전 위와 같은 조건을 지키며 모든 칸의 시곗바늘을 12시로 만들수 있는 최소의 조작횟수를 구하는 문제! 처음에는 단순히 탐색을 통해 모든 경우의 수를 구해주려 했으나, n이 8일 경우 64칸의 모든 경우의수...까지는 계산하기에 무리가 있어 보였습니다. 그래서 먼저 가장 위 .. 2024. 4. 2.
코딩테스트 -- 산 모양 타일링 - (프로그래머스 / C++) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제요약! 위와 같이 삼각 타일들을 이어붙인 타일에 마름모 타일과 정삼각형 타일을 섞어 붙일 수 있는 경우의 수를 구하는 문제! 주어지는 입력값은 윗변의 삼각형의 유무와 길이! 입력값에 따라 아래처럼 구성됩니다. ex) [1,0,0] ,n=3 [0,0,0] , n=3 그림부터가 쉽지 않은 문제처럼 보입니다.... 가장 처음 드는 생각은 규칙이 존재하지 않을까? =>> 점화식! DP였습니다. 그래서 일단 규칙을 찾아보기로 하였습니다. 저는 삼각형을 기준으로 생각해 보았습니다. 먼저 이 문제에서 덮고 싶어하는 모.. 2024. 3. 20.
코딩테스트 -- [PCCP 기출문제] 4번 / 수레 움직이기 - (프로그래머스 / C++) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제요약! 최대 4 * 4의 퍼즐판에서 파란 수레와 빨간 수레를 한턴에 한번 씩 움직여 각각의 도착지점으로 보낼때의 최소 턴수를 구하는 문제! 조건으로는 1. 각각의 수레, 자신이 방문했던 칸으로는 다시 움직일수 없다 2. 같은 칸으로 동시에 움직일 수 없다. 3. 서로 자리를 바꾸며 움직일 수 없다. 4. 도착한 수레는 더이상 움직이지 않는다. 조건이 상당히 까다로운 문제였습니다.... 그만큼 예외사항이 많아 잘 처리해주지 않으면 시간이 많이 걸리는 문제였습니다... 그래도 시작! 처음 드는 생각은 DFS탐.. 2024. 3. 19.
코딩테스트 -- 상담원 인원 - (프로그래머스 / C++) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제요약! 각 분야 별로 상담사들이 1명이상 있고, 분야별 참가자들이 시간에 따라 상담을 지원할때, 상담사들을 효율적으로 배치하여 참가자들의 대기 시간을 최소로 만들어야 하는 문제! 그리고 다음과 같은 조건들 1. 분야는 1~5가지가 있고 참가자는 300명, 상담사는 분야의 수~ 20명이 존재 2. 시작 시간은 1 ~ 1000분, 상담시간은 1~100분 문제를 보고 처음 생각났던 방법은 DP를 이용한 풀이방법이였습니다. 각각의 분야별로 상담사의 명수에 따른 대기 시간의 총합을 저장하는 방법! 하지만... 분야.. 2024. 3. 18.
728x90
반응형