분류 전체보기

알고리즘/구현

프로그래머스 - 스킬트리

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

알고리즘/구현

프로그래머스 - 방문 길이

문제 https://school.programmers.co.kr/learn/courses/30/lessons/49994 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 이동 경로 중 처음 방문한 간선의 개수를 구하는 문제였다. 문제 풀이 처음에는 구조체를 만들어서 구조체 [11][11] map을 만들고, 각 LRUD마다 반대 방향의 RLDU 체킹을 일일이 넣어줬는데 너무 복잡하고 어느 부분이 틀린지도 잘 모르겠어서 다시 풀었다. 다시 풀면서 3차원 배열로 변경하고 nx, ny와 x,y의 LR / RL / UD / DU 계산을 (di+2)%4로 해서 간단하게..

알고리즘/그리디

프로그래머스 - 예산

문제 https://school.programmers.co.kr/learn/courses/30/lessons/12982 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 주어진 예산 내에서 최대한 많은 부서에 금액을 지원하도록 하는 문제였다. 문제 풀이 오름차순으로 정렬한 후 그리디를 이용해 풀었다. #include #include #include #include #include using namespace std; int solution(vector d, int budget) { int answer = 0; sort(d.begin(),d.end()); fo..

알고리즘/구현

프로그래머스 - 소수 만들기

문제 https://school.programmers.co.kr/learn/courses/30/lessons/12977 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 3개 숫자의 합이 소수인지 판별하는 문제였다. 문제 풀이 에라토스테네스의 체를 이용했고 nums가 최대 50개로 작은 수여서 완전탐색으로 풀었다. #include #include using namespace std; int isPrime[3001]; void calPrime(){ fill(isPrime, isPrime+3000,1); isPrime[0] = 0; isPrime[1] = 0; ..

spring

redis test 환경 구축

이전에 구축한 redis에 대해 잘 작동되는지 test로 확인하고 싶었다. 찾아보니 방법은 embedded redis를 사용하는 것과 test container를 사용하는 것 2가지가 있었다. 전자의 방법은 업데이트가 오래돼서 후자 방법을 사용하기로 했다.. test container를 사용하게 되면 테스트 실행 시마다 도커 컨테이너가 실행되고 자동 종료된다. RedisTestContainers public class RedisTestContainers implements BeforeAllCallback { private static final String REDIS_DOCKER_IMAGE = "redis:5.0.3-alpine"; private GenericContainer REDIS_CONTAINER..

알고리즘/구현

프로그래머스 - 다단계 칫솔 판매

문제 https://school.programmers.co.kr/learn/courses/30/lessons/77486 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 그래프에서 부모를 거슬러 올라 가면서 판매액을 계산하는 문제였다. 문제 풀이 해시맵에 이름과 node를 키밸류로 저장해서 풀었다. 중간에 시간 초과가 났는데 부모에게 보낼 돈이 0일 경우 break 걸어주니 해결됐다. 최대 100000 * 10000 에서 100000 * 5 (최대 amount는 100*100, 10000이고 10씩 나누기 때문에 5번) 만큼 걸리도록 줄였다. #include..

알고리즘/구현

프로그래머스 - 행렬 테두리 회전하기

문제 https://school.programmers.co.kr/learn/courses/30/lessons/77485 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 주어진 행렬에서 주어진 부분의 테두리를 회전시키는 문제였다. 문제 풀이 100 x 100 크기의 행렬이 최대였고 최대 회전수가 10000이었기 때문에 40 * 10000을 했을 때 400000이어서 마음 편하게 반복문을 사용했다. #include #include using namespace std; vector map; void printMap(int row, int col){ for(int..

알고리즘/탐색

프로그래머스 - 로또의 최고 순위와 최저 순위

문제 https://school.programmers.co.kr/learn/courses/30/lessons/77484# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 로또의 최고 순위와 최저 순위를 찾는 문제였다. 문제풀이 lottos와 win_nums를 정렬하고 진행했다. lottos 값이 0일 경우에는 jocker 값을 증가하고 나머지 경우에 대해서는 win_nums와 같은지 투포인터를 이용해 풀었다. maxRank와 minRank를 if문으로 일일이 비교하기 싫어서 rank 배열을 만들고 for문을돌려서 결정했다. #include #include ..

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