[BOJ/백준/C++] 1181번 단어 정렬
·
Coding Test/Baekjoon
1181번: 단어 정렬 첫째 줄에 단어의 개수 N이 주어진다. (1 ≤ N ≤ 20,000) 둘째 줄부터 N개의 줄에 걸쳐 알파벳 소문자로 이루어진 단어가 한 줄에 하나씩 주어진다. 주어지는 문자열의 길이는 50을 넘지 않는다. www.acmicpc.net 📌 접근 방법 길이가 짧은 순서로 정렬하되, 길이가 같으면 사전순으로 정렬 중복은 제거한다 ➡ vector로 입력받아서 정렬기준을 정해서 sort() 했다. ➡ 반복문을 통해 중복을 제거했다. ✅ Pass Code #include #include #include #include using namespace std; bool compare(string a, string b){ if(a.length()==b.length()){ return aN; stri..
[BOJ/백준/C++] 1436번 영화감독 숌
·
Coding Test/Baekjoon
1436번: 영화감독 숌 666은 종말을 나타내는 수라고 한다. 따라서, 많은 블록버스터 영화에서는 666이 들어간 제목을 많이 사용한다. 영화감독 숌은 세상의 종말 이라는 시리즈 영화의 감독이다. 조지 루카스는 스타워 www.acmicpc.net 📌 접근 방법 1 ➡ 666 2 ➡ 1666 3 ➡ 2666 ... 7 ➡ 6660 8 ➡ 6661 ... 666만 세번 이상 들어가게 작은 순서대로 번호를 매긴다고 생각하여 풀었다 666으로 나눠서 나머지가 0이 된다면 루프 탈출 숫자의 끝에 666이 오도록 하게 하기 위해 666이 나올 때 까지 10으로 계속 나눠준다. ✅ Pass Code #include #include #include #include using namespace std; int main..
[BOJ/백준/C++] 2231번 분해합
·
Coding Test/Baekjoon
2231번: 분해합 어떤 자연수 N이 있을 때, 그 자연수 N의 분해합은 N과 N을 이루는 각 자리수의 합을 의미한다. 어떤 자연수 M의 분해합이 N인 경우, M을 N의 생성자라 한다. 예를 들어, 245의 분해합은 256(=245+2+4+5)이 www.acmicpc.net 📌 접근 방법 N의 가장 작은 생성자가 나올 때 까지 1~N-1을 하나하나 직접 해보며 모든 경우의 수를 탐색해본다 가장 작은 생성자 출력 오름차순으로 생성자를 찾아감 ➡ 가장 처음 찾은 생성자가 답이므로 출력하고 끝냄 만약 찾지 못한다 ➡ result가 초기화되지 못하여 그대로 0이 출력될 것 ✅ Pass Code #include #include #include using namespace std; int main() { int N..
[BOJ/백준/C++] 1018번 체스판 다시 칠하기
·
Coding Test/Baekjoon
1018번: 체스판 다시 칠하기 첫째 줄에 N과 M이 주어진다. N과 M은 8보다 크거나 같고, 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 보드의 각 행의 상태가 주어진다. B는 검은색이며, W는 흰색이다. www.acmicpc.net 📌 접근 방법 MN 크기의 이차배열을 반복문을 통해 8x8 배열로 쪼개어보았다 W가 짝수에 나오고 B가 홀수에 나오는 경우를 센다. W가 홀수에 나오고 B가 짝수에 나오는 경우를 센다. ➡ 더 많이 나온 수를 구하여 8x8=64에서 빼주었다 ➡ 그만큼이 다시 칠해야 하는 개수이므로 최소값을 구하여 출력 ✅ Pass Code #include #include #include #include using namespace std; int main() { int ..