코테/프로그래머스
-
[프로그래머스]다리를 지나는 트럭(구현)코테/프로그래머스 2023. 6. 23. 21:04
https://school.programmers.co.kr/learn/courses/30/lessons/42583# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 대기중인 트럭의 무게와 다리의 길이, 다리가 버틸수있는 무게가 input으로 주어진다 대기중인 트럭은 주어진 순서대로 지나간다할때, 트럭이 전부 건너는데 필요한 최소 시간을 구하라 전체코드 #include #include #include #include using namespace std; int solution(int length, int weight, vector t) { queue brid..
-
[프로그래머스]등굣길코테/프로그래머스 2023. 3. 4. 01:19
https://school.programmers.co.kr/learn/courses/30/lessons/42898 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 웅덩이를 지나지 않는 경로를 모두 구하는 문제 간단한 dp 문제고 금방 풀줄알았는데.. 배열을 전역로 선언시 모든 값은 0으로 초기화되어있는데, 메인 함수에서 선언시 dummy 값이 들어간다 이거때문에 좀 헤맴 그 다음은 효율성 검사. 값을 10억으로 나눈 나머지를 구하라길래 마지막 return에 써줬는데... dp중에 값이 엄청 커지나보다. dp중 값을 10억으로 나눠줘야 효율성 체크를 통과했다..
-
[프로그래머스]퍼즐조각 채우기(BFS)코테/프로그래머스 2023. 3. 2. 17:32
https://school.programmers.co.kr/learn/courses/30/lessons/84021 왼쪽 board의 빈칸에 table의 블럭을 최대 몇칸 넣을 수 있는지 구하는 문제 단 빈칸과 블럭의 모양은 동일해야 한다 (회전 가능, 대칭 불가) 첫번째 접근 - 빈칸을 연결된 빈칸 수로 나타내봄 board를 순서대로 bfs로 탐색, ㄱ과 같은 모양은 121, ㅗ과 같은 모양은 1311 ㅁ 모양은 2222 반례가 바로 떠오를정도로 허접했지만 의외로 테케 절반정도를 통과했다 위 방식으로 3칸 블럭까진 구별이 가능하고, 대칭을 무시하면 4칸까지 구별 가능하다 ㅡ = 1111 = 4 ㅁ = 2222 = 8 ㄴ = 1121 / 1211 / 2111 = 5 ㄹ = 1221 / 2121 / 2211..
-
[프로그래머스]게임 맵 최단거리 (BFS)코테/프로그래머스 2023. 2. 24. 11:57
https://school.programmers.co.kr/learn/courses/30/lessons/1844 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 맵이 주어지고 (1,1)에서 (5,5)까지 갈 수 있는 최단 거리를 구하시오 최단거리니 BFS 쓰면 된다 #include #include using namespace std; int dx[] = {0,1,0,-1}; int dy[] = {1,0,-1,0}; int check[101][101]; int solution(vector maps) { int n = maps.size(); int m = ma..
-
[프로그래머스] 피로도 (DFS)코테/프로그래머스 2023. 2. 24. 11:51
https://school.programmers.co.kr/learn/courses/30/lessons/87946 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 던전의 최소 필요 피로도와 소모 피로도가 주어졌을때 돌 수 있는 던전 개수의 최대값을 구하시오 역시나 dfs로 탐색하여 최대값을 answer에 넘겨주면 된다 dfs에서 앞으로 탐색할 k 점에 대해 visit와 counts, 피로도를 처리하는 방법이 있고 매개변수로 주어진 = i점에 도착했을때 이에 대해 visit, counts, 피로도를 처리하는 방법이 있다. 전자의 경우 메인함수에서 dfs 탐색..
-
[프로그래머스] 모음 사전 (DFS)코테/프로그래머스 2023. 2. 24. 11:39
https://school.programmers.co.kr/learn/courses/30/lessons/84512 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr A E I O U로 만들 수 있는 길이 5 이하의 모든 단어가 저장된 사전이 있다면, 주어진 문자열은 사전의 몇번째 값일지 맞추는 문제 사전 순서가 A -> AA -> AAA -> AAAA -> AAAAA -> AAAAE -> AAAAI ... 이런식으로 처음엔 뭔 순서인가 했지만 생각해보니 그냥 DPS 탐색 순서더라 int solution(string word) { dps(""); return ..
-
[프로그래머스] 전력망을 둘로 나누기 (BFS)코테/프로그래머스 2023. 2. 24. 11:31
https://school.programmers.co.kr/learn/courses/30/lessons/86971 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 전선 하나를 끊어 전력망을 2개로 나눴을때 각 전전력망의 개수 차의 최솟값을 구하라 주어진 wires 배열의 값중 하나를 의미 없는 값으로 바꾸고 모든 경우에 bfs 탐색을 수행 1번 송전탑 + 연결된 탑의 개수 N을 구하고 N과 (전체 전력망 개수)-N의 차가 최소가 될때 그 값을 return 한다 int solution(int n, vector wires) { int answer = 999; ..
-
[프로그래머스] 소수 찾기 (DFS)코테/프로그래머스 2023. 2. 24. 11:18
https://school.programmers.co.kr/learn/courses/30/lessons/42839 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 숫자 문자열이 주어졌을때 해당 숫자로 만들 수 있는 소수의 경우의 수를 구하는 문제 일단 문자열을 int 배열로 바꿔주고 각 점을 시작으로 dfs 탐색을 해 만들 수 있는 모든 숫자를 구한다 이를 중복을 제거하고 a 벡터에 넣은 다음 이 중 소수의 개수를 구하면 된다 for(int i=0 ; i