목록코딩테스트 (94)
Deff_Dev
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 해당 문제는 문자열 s에 있는 각 알파벳을 주어진 index만큼 뒤로 이동시키되, skip 문자열에 있는 알파벳은 건너뛰고 변환한 결과를 반환하는 문제이다. 알파벳을 아스키코드로 변환하여 +1씩 증가시킨 후, str.find() 함수로 스킵 문자열에 해당 알파벳이 있는지 확인하고, 그리고 최종적으로 얻은 아스키코드를 다시 알파벳으로 변환하여 결과 문자열에 저장하는 방식으로 풀이했다. 풀이 #include #include // https://school.programmers.co.kr/learn/cours..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 이 문제는 누를 때마다 순서대로 문자가 변환되는 keymap을 이용해 targets 문자열을 작성할 때 키보드를 눌러야 하는 촤소 횟수를 구하는 문제이다. 맵을 사용하여 keymap에 할당된 문자 별 눌러야 하는 최소 횟수를 저장하고, targets 벡터에 저장된 문자 별 맵에 저장된 횟수를 더해 answer 벡터에 저장하는 방식으로 문제를 해결했다. 만약 맵에 저장된 횟수가 0이라면 해당 문자는 키보드 자판에 할당되어 있지 않으므로 answer 벡터에 -1을 저장한다. 풀이 #include #inclu..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 이 문제는 m미터의 길이를 가진 롤러로 덧칠해야할 모든 구역을 덧칠할 때 최소 덧칠 횟수를 구하는 문제입니다. 첫 구역부터 순서대로 덧칠하고, 덧칠이 안 된 구역부터 다시 덧칠하는 방법으로 문제를 풀이했다. 풀이 #include #include // https://school.programmers.co.kr/learn/courses/30/lessons/161989 using namespace std; int solution(int n, int m, vector section) { int answer = ..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 해당 문제는 주어진 사진 속의 그리움 점수들을 합쳐 추억 점수를 산출하는 문제이다. 맵에 인물 별 그리움 점수를 저장하고, 이 맵을 활용하여 사진 별 추억 점수를 산출하는 방법으로 문제를 풀었다. 풀이 #include #include #include using namespace std; // https://school.programmers.co.kr/learn/courses/30/lessons/176963 // 인물 별 그리움 점수를 저장하는 맵 map scoreMaps; vector solution(v..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 주어진 문제는 현재 날짜와 약관 별 유효기간(달), 개인정보 수집 일자가 입력되고, 이 정보를 비교하여 현재 날짜와 유효기간이 만료된 개인정보 수집 일자를 찾아 그 번호를 반환하는 문제이다. 문자열 파싱을 활용하여 구현하는 레벨 1의 문제였지만, 날짜 변환에 있어 예상치 못한 어려움이 있었다. 특히, 12월에서 1월로 넘어가는 경우와 연도가 변경되는 상황에서 문제가 발생했다. 처음에는 문자열끼리 비교하려고 했지만, 일부 테스트 케이스가 실패했다. 반례를 생각해봤고 12월에서 1월로 넘어가고 연도가 변경되..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 주어진 문제는 달리기 경주의 최종 순위를 반환하는 문제이다. Player의 순서대로 1등부터 n등까지의 순위를 가지고, 이름이 불리면 순위가 한 단계씩 올라간다. Map을 사용하여 플레이어 별 순위를 저장하고, 이름이 불릴 때마다 해당 플레이어의 순위를 조정하는 방법으로 문제를 풀이했다. 풀이 #include #include #include // https://school.programmers.co.kr/learn/courses/30/lessons/178871 using namespace std; map..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 이 문제는 다음달에 선물을 가장 많이 받는 사람의 선물 갯수를 구하는 문제이다. 다음달에 선물을 받는 조건 이번 달에 본인이 상대방보다 선물을 많이 주었을 때 이번 달에 선물을 주고 받은 갯수가 같고 선물 지수가 높을 때 선물을 준 갯수 - 선물을 받은 갯수 = 선물 지수 해당 문제는 맵을 사용하면 비교적 쉽게 해결할 수 있지만, 맵을 생각하지 못해 문제를 해결하지 못하고 블로그를 참고하여 풀이했습니다. 풀이 사람 별 번호를 맵에 저장하고 선물 지수와 선물 지표를 구한다. 각 사람 별로 다음 달에 받는 ..
2178번: 미로 탐색 첫째 줄에 두 정수 N, M(2 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 M개의 정수로 미로가 주어진다. 각각의 수들은 붙어서 입력으로 주어진다. www.acmicpc.net 문제 이 문제는 0과 1로 이루어진 미로에서 0은 벽을 나타내고, 1은 길을 나타낸다. 출발점은 (1, 1)이고 도착점은 (N, M)일 때, 출발점부터 도착점까지의 최소 칸 수를 출력하는 문제이다. DFS로 이 문제를 풀려고 시도했지만 해결하지 못하여 블로그의 풀이를 참고하여 BFS로 문제를 해결했습니다. DFS로 이 문제를 풀 경우, 연산이 많아져 시간초과가 나온다고 한다. 풀이 BFS를 이용하여 상하좌우로 탐색하고 목적지에 도달했을 경우 이동 거리를 출력하는 방법으로 풀이했다. #inclu..