알고리즘/구현

알고리즘/구현

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

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

알고리즘/구현

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

문제 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..

알고리즘/구현

프로그래머스 - 지형 편집

문제 https://school.programmers.co.kr/learn/courses/30/lessons/12984 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 지형의 블록 높이가 동일하도록 변경하는 cost 값의 최솟값을 구하는 문제였다. 문제 풀이 처음에는 각 높이의 count를 map에 저장하고 각각의 높이에 대해서만 계산하도록 했는데, 계산을 할 때 완전 탐색으로 계산해서 최악의 경우 O(n^2)의 시간이 걸려 실패했고 누적합을 이용해 다시 풀었다. 이상한 점은 cost를 구하는 반복문 안에 if(l[i] == l[i-1]) continue;..

알고리즘/구현

프로그래머스 - 쿠키 구입

문제 https://school.programmers.co.kr/learn/courses/30/lessons/49995 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 처음에 누적합을 구한 후 l이 0~cookieSize, r이 cookieSize~l, m이 l~r 로 삼중 반복문을 사용해 풀었다. 정확성 테스트는 통과했는데 효율성 테스트에서 아무리 break를 줘도 4개의 테케가 틀려서 다시 풀었다.. 첫 번째 방법 (효율성 틀림) #include #include #include using namespace std; int solution(ve..

알고리즘/구현

프로그래머스 - 기지국 설치

문제 https://school.programmers.co.kr/learn/courses/30/lessons/12979 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 최소한의 기지국을 설치하는 문제였다. 문제 풀이 처음에는 각 기지국의 전파 범위를 start와 end로 계산해 pair 벡터에 저장하게 해서 문제를 풀었는데 4개의 테스트케이스에서 틀렸고 수정하기가 애매하고 코드도 지저분해서 다시 풀었다. pair 벡터에 저장하지 않고 i의 값을 옮겨주며 풀었다. #include #include using namespace std; int solution(i..

알고리즘/구현

프로그래머스 - 점프와 순간 이동

문제 https://school.programmers.co.kr/learn/courses/30/lessons/12980 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 목적지까지 도달하는데 필요한 최소한의 배터리를 구하는 문제였다. 문제 풀이 굉장히 쉬운 문제였는데 왜 level 2인지 잘 모르겠다. 마지막 ans++을 해준 이유는 마지막 n이 짝수든 홀수든 2/2 = 1, 3/2 = 1 로 1이 남게 되어 건전지 수를 1 더해줘야 하기 때문이다. #include using namespace std; int solution(int n) { int ans =..

알고리즘/구현

프로그래머스 - 영어 끝말잇기

문제 https://school.programmers.co.kr/learn/courses/30/lessons/12981# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 끝말잇기에서 틀린 사람을 찾는 문제였다. 문제 풀이 set을 이용해서 해당 단어가 이전에 나왔는지 확인했고, 이전 단어의 끝 글자를 저장해서 현재 단어의 첫 글자와 같은지 확인했다. #include #include #include #include using namespace std; set wordSet; vector solution(int n, vector words) { vector a..

알고리즘/구현

프로그래머스 - 스킬트리

문제 https://school.programmers.co.kr/learn/courses/30/lessons/49993 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 선행 스킬 조건을 만족한 스킬 트리의 개수를 구하는 문제였다. 문제 풀이 해시맵에 스킬과 선행 스킬을 키밸류로 저장하고 isLearn 배열을 이용해 선행 스킬이 있는 스킬인 경우 선행 스킬을 배웠는지 확인하도록 했다. #include #include #include using namespace std; unordered_map skillMap; //스킬, 선행스킬 int isAvailable..

hahihi
'알고리즘/구현' 카테고리의 글 목록 (3 Page)