분류 전체보기

알고리즘/구현

프로그래머스 - 주차 요금 계산

문제 https://school.programmers.co.kr/learn/courses/30/lessons/92341 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 입차된 차량과 출차된 차량의 시간을 계산해 차량별 주차 요금을 계산하는 문제였다. 문제 풀이 먼저 records 벡터를 하나씩 뜯어 입차 차량, 출차 차량, 차량별 시간 map에 저장했다. 이때 처음 들어온 차량이면 answer를 위해 answerCarOrder에 push했고 출차 차량인 경우에는 시간을 계산해 timeMap에 저장했다. 모든 records를 저장한 후, 출차 기록이 없는 차..

알고리즘/DFS BSF

프로그래머스 - 거리두기 확인하기

문제 https://school.programmers.co.kr/learn/courses/30/lessons/81302 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 대기실 현황을 받아 사용자 간의 거리가 2 초과인지 확인하는 문제였다. 문제 풀이 중간에 코어덤프가 나서 많은 고민을 했다.. checkDistance()에서 사용자를 checkPoint에 담은 후 체킹했다는 표시를 남겼어야 헀는데 그러지 않아 dfs()에서 그 위치를 계속해서 탐색하게 되어 일어난 일이었다. 체킹하는 사용자 위치를 3으로 바꿔주었더니 해결됐다. 먼저 string으로 들어온 ..

알고리즘/구현

프로그래머스 - 숫자 문자열과 영단어

문제 https://school.programmers.co.kr/learn/courses/30/lessons/81301 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문자와 숫자가 혼합된 형태의 문자열을 숫자로 변환하는 문제였다. 문제 풀이 문자열과 숫자를 키-밸류 값으로 가지는 map을 만들어 풀었다. string을 한 글자씩 검사하며 먼저 숫자인지 확인한 후, map에 있는 string일 경우 숫자를 answer에 더해줬다. #include #include #include using namespace std; map num; void init_map(..

알고리즘/구현

프로그래머스 - k진수에서 소수 개수 구하기

문제 https://school.programmers.co.kr/learn/courses/30/lessons/92335 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문자열을 숫자로 변환하고 소수인지 판별하는 문제였다. 문제 풀이 먼저 10진수로 주어진 n을 k진수로 변환해준 후(문자열), 각 수를 0을 단위로 끊어서 벡터에 저장했다(long long). 그리고 벡터에 저장된 수가 소수인지 판별했다. 굉장히 긴 수가 나올 수 있기 때문에 long long 타입을 사용했고, 소수를 판별하는 것도 처음에는 num/2 까지만 계산하게 했으나 시간 초과가 나와서..

알고리즘/동적 계획법 (DP)

프로그래머스 - 코딩 테스트 공부

문제 https://school.programmers.co.kr/learn/courses/30/lessons/118668 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 모든 문제를 풀 수 있는 알고력과 코딩력을 구하는 데 걸리는 최소 시간을 구하는 문제였다. 문제 풀이 DP로 풀었다. cost 1로 알고력 1 올리기 cost 1로 코딩력 1 올리기 문제를 풀어 알고력/코딩력 올리기 처음 풀이로는 효율성 테스트 10번이 어떤 수를 써도 시간 초과가 나서(450 * 450 * 6) maxAlp * maxCop * problems 만큼 걸리도록 다시 풀었다. ..

알고리즘/그리디

프로그래머스 - 두 큐 합 같게 만들기

문제 https://school.programmers.co.kr/learn/courses/30/lessons/118667# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr pop과 push를 해서 주어진 두 큐의 합을 같게 만드는 문제였다. 문제 풀이 따로 큐를 만들어 사용하진 않고 주어진 벡터에 push_back 하며 index를 옮겨서 풀었다. 계속 3번, 5번 테케가 틀려서 왜그런가 했는데.. 맨 처음 합을 구하는 for문에서 i sum2){ sum1-=queue1[index1]; sum2+=queue1[index1]; queue2.push_back(..

알고리즘/구현

프로그래머스 - 성격 유형 검사하기

문제 https://school.programmers.co.kr/learn/courses/30/lessons/118666 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 주어진 답변으로 성격 유형 4글자를 만드는 문제였다. 문제 풀이 map을 이용해 풀었다. #include #include #include using namespace std; int score[8] = {0, 3,2,1,0,1,2,3}; map myScore; void initMyScore(){ myScore.insert({'R', 0}); myScore.insert({'T', 0}); m..

알고리즘/주의할 점

c++ map vector로 변환

vector 선언 시 map의 처음과 끝으로 지정해 선언하면 된다. vector v(m.begin(), m.end());

hahihi
'분류 전체보기' 카테고리의 글 목록 (9 Page)