목록Programmers (190)
GitHubSeob

문제 https://school.programmers.co.kr/learn/courses/30/lessons/1844 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제풀이 (1, 1) 위치에서 부터 시작하여 (N, M) 위치에 도달하는 모든 경우의 수 중 가장 짧은 길이를 찾는 문제이다. 최단거리를 구하는 문제이므로 BFS를 이용했다. 구조체를 선언하여 y, x의 좌표와, 거리를 나타내는 dist 변수를 둔다. 방문 벡터를 선언하여 이전에 방문한 적이 있는지 확인을 한다. 큐에 시작 지점을 집어넣고 큐가 빌 때까지 반복을 한다. 상, 하, 좌, 우 한 ..

문제 https://school.programmers.co.kr/learn/courses/30/lessons/12913 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제풀이 같은 열을 연속으로 밟을 수 없다. 그리고 입출력 예를 보면 다음 행의 칸에서 같은 열만 아니면 다 밟을 수 있으므로 DP를 이용하면 쉽게 풀 수 있다. 이전 행에서 같은 열만 제외하고 남은 3칸 중에서 가장 큰 누적값과 현재 밟은 칸의 값을 더해 저장하면 된다. DP[y][0] = ( DP[y-1][1] or DP[y-1][2] or DP[y-1][3] ) + land[y][0];..

문제 https://school.programmers.co.kr/learn/courses/30/lessons/92341 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제풀이 차량이 들어오고 나간 기록이 주어진다. 차량은 한 번만 들어올 수 있는 것이 아닌 여러 번 왔다 갔다 하면서 주차를 할 수 있다. return은 차량 번호순으로 해야 하므로 map을, 입장 기록은 정렬을 할 필요가 없으므로 unordered_map을 사용했다. 형을 사용했다. key는 차량번호, int는 시간을 의미한다. 입장 시에는 in에 기록을 하고 출차 시에는 나간 시각에서 i..

문제 https://school.programmers.co.kr/learn/courses/30/lessons/17687 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제풀이 16진수까지 숫자를 표현할 수 있으므로 char형 벡터를 만들어 '0'부터 'F'까지 미리 저장한다. int number(1); string notation("0"); for (int idx = 0; idx < m * t; ++idx) { if (notation.empty()) { notation = itos(number++, n); } if (idx % m + 1 == p) ans..

문제 https://school.programmers.co.kr/learn/courses/30/lessons/17684 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제풀이 사전에 1: A부터 26: Z까지 이미 있으므로 벡터를 만들어 알파벳을 저장하고, 반복문을 이용해 unordered_map에 저장한다. string인 msg를 탐색하면서 맨 앞부터 한 자리씩 string변수 str에 더한다. str이 사전(unordred_map)에 있다면 prev에 str을 저장한다. 만약 str이 사전에 없다면 prev까지는 사전에 있으므로 사전에서 prev값을 ..

문제 https://school.programmers.co.kr/learn/courses/30/lessons/92335 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제풀이 복잡해 보여도 간단한 문제이다. 숫자를 k진수로 바꾸고, 0을 기준으로 나누어서 해당 숫자가 소수인지만 판별하면 된다. 10진수의 범위는 10^6이므로 다른 진수로 바꿨을 때 에라토스테네스체를 쓰기엔 범위가 커 보여서 숫자마다 판별하기로 했다. 먼저 숫자를 입력받으면 나머지 연산, 나누기를 통해 숫자를 string형태로 바꾸고 reverse를 이용해 뒤집는다. 그다음 istrings..

문제 https://school.programmers.co.kr/learn/courses/30/lessons/42587 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제풀이 가장 큰 중요도 먼저 꺼내야하므로, 우선순위 큐를 이용하여 중요도를 내림차순으로 정렬한다. 가장 큰 중요도를 꺼냈다면 처음으로 돌아가는 것이 아닌, 그 다음 프로세스 부터 탐색해야하므로 큐를 선언한다. 우선순위 큐는 중요도 내림차순, 큐는 현재 확인할 프로세스를 구하기 위함이다. 우선순위 큐에는 중요도만, 큐에는 중요도, 몇번째 프로세스인지를 입력한다. 우선순위 큐가 빌때까지, 반복..

문제 https://school.programmers.co.kr/learn/courses/30/lessons/131127 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제풀이 간단하게 풀 방법이 떠오르지 않아 항상 반복문을 통해 같은지를 판별하도록 했다. 10일 연속으로 제품을 구매하므로 idx가 0~9일때는 삭제하는 물품없이 다 map을 이용하여 저장하였다. 대신에 want에 있는 제품과 같을때만 저장하였다. want에 있는 물품이면 map의 해당 제품에 수량을 1씩 더해준다. 그 다음 want에 있는 제품과 개수, 구매한 목록에 있는 제품과 개수가 ..

문제 https://school.programmers.co.kr/learn/courses/30/lessons/64065 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제풀이 문제를 대충 봐서인지, 제대로 이해 못한건지 입출력 예와 여러가지 경우의 수가 생각나 쉽게 접근을 못했다. 질문글을 봤더니 이미 완성된 튜플이 있고, 그의 부분집합들이 s로 주어지고, 결과는 숫자의 빈도수 기준으로 내림차순된 숫자들을 나열한 것이었다. 따라서 문자열에서 '{', '}', ',' 만 제외하고 숫자들만 따로 저장하고, 빈도수를 저장하여 정렬하여 return하면 된다. m..