-
[C++] Programmers | 숫자 카드 나누기Problem Solving/Programmers 2023. 3. 4. 00:52
숫자 카드 나누기 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ✍🏻 풀이 이 문제는 N개의 최소공배수 문제와 조금 비슷한 문제였다. [C++] Programmers | N개의 최소공배수 N개의 최소공배수 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. progr suddiyo.tistory.com A배열, B배열의 최대공약수인 A_GCD, B_GCD를 각각 구해준다 (유클리드 호제법 이용) A배열을 순회하며 B_GCD로 나누어 떨어지는 ..
-
[C++] Programmers | 미로 탈출Problem Solving/Programmers 2023. 3. 2. 23:24
미로 탈출 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ✍🏻 풀이 문제의 미로를 탈출하려면 크게 두 가지 단계를 거쳐야 한다. 시작 지점에서 레버가 있는 곳까지 간다. 레버가 있는 곳에서 출구까지 간다. 미로를 탈출하는데 필요한 '최소 시간'을 구해야 하므로 BFS(너비 우선 탐색) 알고리즘을 사용하였다. ⭐️ 이 문제에서 주의할 점은, 레버를 당기지 않으면 출구가 열리지 않기 때문에 두 단계에서 각각 BFS를 돌리고 둘 중 하나라도 만족하지 못 하면 -1을 return 해야한다. ✅ Accept Code // programmers week6-3 // ..
-
[C++] Programmers | N개의 최소공배수Problem Solving/Programmers 2023. 3. 2. 16:05
N개의 최소공배수 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ✍🏻 풀이 이 문제는 벡터의 원소들을 순회하며 차곡차곡 최소공배수를 구해 나가면 되는 아주 간단한 문제였다. 두 수 A, B의 최소공배수는 A * B / (A, B의 최대공약수) 라는 관계가 성립하기 때문에 우선 A, B의 최대공약수를 구한 후, 식에 대입하여 최소공배수를 구하였다. 💡 유클리드 호제법 나는 최대공약수를 대표적인 알고리즘인 유클리드 호제법을 사용하였다. 호제법이란, 두 수가 서로 상대방 수를 나누어서 결국 원하는 수를 얻는 알고리즘이다. a를 b로 나누어 나머지인 b'을 구하..
-
[C++] Programmers | JadenCase 문자열 만들기Problem Solving/Programmers 2023. 3. 2. 16:04
JadenCase 문자열 만들기 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ✍🏻 풀이 문자열을 순회하며 조건에 맞게 문자를 대치해주면 되는 아주 간단한 문제였다. 대문자와 소문자를 서로 바꿔줄 때 아스키 코드를 이용하여 문제를 해결하였는데, 구글링 해보니 toupper(), tolower() method를 사용하여 더 깔끔하게 풀 수 있다. (공백과 숫자에 메서드를 적용해도 문제 없다고 한다) ✅ Accept Code // programmers week6-1 // JadenCase 문자열 만들기 #include using namespace std; s..
-
[C++] Programmers study week #6Problem Solving/Programmers 2023. 3. 2. 16:01
JadenCase 문자열 만들기 [C++] Programmers | JadenCase 문자열 만들기 JadenCase 문자열 만들기 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. suddiyo.tistory.com N개의 최소공배수 [C++] Programmers | N개의 최소공배수 N개의 최소공배수 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. progr suddiyo.tistory.com 미로 탈출 [C++] Programmers | 미로 탈출 미로 탈출 프로그래..
-
[C++] Programmers | N-QueenProblem Solving/Programmers 2023. 3. 1. 02:12
N-Queen 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 💡 Backtracking N-Queen 문제는 백트래킹의 대표적인 예제이다. 풀이에 앞서 백트래킹의 개념에 대해 간단히 알아보자! 백트래킹 (Backtracking) : 백트래킹이란 현재 상태에서 가능한 모든 경로를 따라 들어가 탐색하다 원하는 값과 불일치하는 부분이 발생하면 더 이상 탐색을 진행하지 않고 전 단계로 돌아가는, 이름 그대로 방금 왔던 길을 되짚어가는 알고리즘이다. ✍🏻 풀이 해당 문제의 조건을 만족시키기 위해서는 1) 한 행 2) 한 열 3) 한 대각선 에 단 하나의 퀸만을 배..
-
[C++] Programmers | 혼자 놀기의 달인Problem Solving/Programmers 2023. 3. 1. 01:38
혼자 놀기의 달인 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ✍🏻 풀이 문제의 조건을 만족하도록 카드를 뽑다 보면 반드시 사이클(cycle)이 생기게 되어있다. 우리는 주어진 카드에서 사이클을 모두 순회하고, 카드를 가장 많이 선택하는 사이클 두 개를 선택하여 곱한 값을 return하면 된다. 사이클을 돌기 위해 DFS를 사용하였고, 카드를 선택할 때마다 sum 값을 1 증가하여 뽑은 카드의 개수를 저장해 주었다. 이렇게 한 사이클을 돌면 나오는 카드의 개수인 sum을 벡터에 저장하고 sort를 하여 답을 도출해 냈다. 이때, 벡터의 크기가 1이면 사..
-
[C++] Programmers | 숫자 블록Problem Solving/Programmers 2023. 3. 1. 01:37
숫자 블록 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ✅ Accept Code // programmers week5-3 // 숫자 블록 #include using namespace std; int isPrime(int n) { if (n < 2) return 0; int max = 0; for (int i = 2; i