BOJ 57

[백준] 2745번: 진법 변환 | C++ 풀이

# 문제 B진법 수 N이 주어진다. 이 수를 10진법으로 바꿔 출력하는 프로그램을 작성하시오. # 풀이 진법 변환은 알아두면 어디든 쓸모가 있는 것 같다. 우선 코드의 로직을 이해하기 위해 직접 진법 변환을 해보자. 5진법 수인 79152를 10진법으로 변환하는 과정은 다음과 같고, 3진법 수인 9735를 10진법으로 변환하는 과정은 다음과 같다. n진법의 경우에도 이와 동일하게 해결하면 된다는 걸 기억하고 코드로 넘어가면 충분히 해결할 수 있다. 이해했다면 바로 정답 소스코드 확인! #include using namespace std; int main() { ios_base::sync_with_stdio(false); // 두 표준 입출력 동기화 해제 int b; int res = 0; string n..

백준/C++ 2023.05.29

[백준] 2563번: 색종이 | C++ 풀이

# 문제 이러한 방식으로 색종이를 한 장 또는 여러 장 붙인 후 색종이가 붙은 검은 영역의 넓이를 구하는 프로그램을 작성하시오. # 풀이 풀이를 떠올릴 때 지금 우리가 어느 단계에 위치해있는지를 떠올리는 게 굉장한 도움이 된다. 아직 단계별 풀이를 벗어나지 못한 우리에게 도움이 되는(?) 아주 약간의 힌트! 정답 소스코드를 보며 답을 확인해보자. #include using namespace std; int main(){ ios_base::sync_with_stdio(false);// 두 표준 입출력 동기화 해제 bool paper[100][100] = {0}; int sum = 0; int n; cin >> n; while(n--){ int x, y; cin >> x >> y; for(int i=y; i..

백준/C++ 2023.05.28

[백준] 10798번: 세로 읽기 | C++ 풀이

# 문제 칠판에 붙여진 단어들이 주어질 때, 영석이가 세로로 읽은 순서대로 글자들을 출력하는 프로그램을 작성하시오. # 풀이 풀이 단계에 명시된 대로 2차원 배열을 사용해 풀면 어렵지 않은 문제다. 해당 글에서는 2차원 배열을 사용한 풀이와 1차원 배열을 사용한 풀이 두 가지를 적어두었다. 문제에서 제시한 대로도 풀어보고 생각나는 대로도 풀어보며 다양한 풀이를 익혀보자. 🖱️ 풀이1 | 2차원 배열 사용 #include using namespace std; int main(){ ios_base::sync_with_stdio(false);// 두 표준 입출력 동기화 해제 string matrix[5][15]; for(int i=0; i> s; for(int j=0; j

백준/C++ 2023.05.27

[백준] 25206번: 너의 평점은 | C++ 풀이

# 문제 치훈이의 전공평점을 계산해주는 프로그램을 작성해보자. # 풀이 예제 입력이 어마무시해보이지만 쉬운 문제! 정답 소스코드를 보고 함께 풀어보자. 근데 치훈아 어떻게 졸업고사를 깜빡할 수가... #include #include using namespace std; int main(){ ios_base::sync_with_stdio(false);// 두 표준 입출력 동기화 해제 map gradeTable; gradeTable["A+"] = 4.5; gradeTable["A0"] = 4.0; gradeTable["B+"] = 3.5; gradeTable["B0"] = 3.0; gradeTable["C+"] = 2.5; gradeTable["C0"] = 2.0; gradeTable["D+"] = 1.5;..

백준/C++ 2023.05.26

[백준] 1316번: 그룹 단어 체커 | C++ 풀이

# 문제 단어 N개를 입력으로 받아 그룹 단어의 개수를 출력하는 프로그램을 작성하시오. # 풀이 더 좋은 방법이 있을 것 같은데... 우선 머릿속에 떠오른 방법을 고집해 코드를 완성했다. 이후 다른 분들의 코드 구경 중 공부해두고 싶은 코드를 발견해 링크해두었고, 추가부록처럼 chat GPT가 짠 코드도 덧붙여두니 참고하길 바란다. 우선 내 정답 소스코드부터 확인해보자. #include #include using namespace std; int main() { ios_base::sync_with_stdio(false); // 두 표준 입출력 동기화 해제 int n; cin >> n; int cnt = 0; while (n--) { int alphabet[26] = {0}; bool check = 1; ..

백준/C++ 2023.05.25

[백준] 2941번: 크로아티아 알파벳 | C++ 풀이

# 문제 단어가 주어졌을 때, 몇 개의 크로아티아 알파벳으로 이루어져 있는지 출력한다. # 풀이 드디어 등장한 실버... 문자열 탐색과 관련한 문제다. 코드도 길지 않고 풀만하니 차분히 확인해보자. 정답 소스코드부터! #include #include using namespace std; int count(string str); int main(){ ios_base::sync_with_stdio(false);// 두 표준 입출력 동기화 해제 cin.tie(NULL);// 입력과 출력 묶음을 풀기 string s; cin >> s; cout

백준/C++ 2023.05.24

[백준] 4344번: 평균은 넘겠지 | C++ 풀이

# 문제 대학생 새내기들의 90%는 자신이 반에서 평균은 넘는다고 생각한다. 당신은 그들에게 슬픈 진실을 알려줘야 한다. # 풀이 왜 슬픈 진실을 알아야만 하죠. 어렵지 않은 문제다. 앞서 했던 것들을 잘 떠올려보자. 오늘도 바로 정답 소스코드 확인! #include using namespace std; int main(){ ios_base::sync_with_stdio(false); // 두 표준 입출력 동기화 해제 cin.tie(NULL); // 입력과 출력 묶음을 풀기 int testCase, n, score; cin >> testCase; while(testCase--){ cin >> n; int score[n]; // step 1. 평균 구하기 int sum = 0; for(int i=0; i>..

백준/C++ 2023.05.23

[백준] 1157번: 단어 공부 | C++ 풀이

# 문제 알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다. # 풀이 그간 풀었던 것들을 잘 조합하면 어렵지 않게 풀 수 있다. 단계를 나누어 생각해보자. 정답 소스코드부터 확인! #include using namespace std; int main(){ ios_base::sync_with_stdio(false);// 두 표준 입출력 동기화 해제 int alphabet[26] = {0}; string s; cin >> s; int len = s.length(); // step 1. 등장 알파벳 개수 세기 for(int i=0; i

백준/C++ 2023.05.22

[백준] 3003번: 킹, 퀸, 룩, 비숍, 나이트, 폰 | C++ 풀이

# 문제 동혁이가 발견한 흰색 피스의 개수가 주어졌을 때, 몇 개를 더하거나 빼야 올바른 세트가 되는지 구하는 프로그램을 작성하시오. # 풀이 단계별 풀이를 차근차근 진행한 분이라면 아주 쉬운 문제! 바로 정답 소스코드를 확인해보자. #include using namespace std; int main(){ int find[6] = {0}; int piece[6] = {1, 1, 2, 2, 2, 8}; for(int i=0; i> find[i]; cout

백준/C++ 2023.05.20
728x90