[백준 / BOJ] 2908번 상수 (C++, Python)
◎ 자료구조와 알고리즘/백준(BOJ) 문제풀이2022. 1. 17. 13:39[백준 / BOJ] 2908번 상수 (C++, Python)

링크 : https://www.acmicpc.net/problem/2908 2908번: 상수 상근이의 동생 상수는 수학을 정말 못한다. 상수는 숫자를 읽는데 문제가 있다. 이렇게 수학을 못하는 상수를 위해서 상근이는 수의 크기를 비교하는 문제를 내주었다. 상근이는 세 자리 수 두 www.acmicpc.net 문제 문제 풀이 C++ 상세 풀이 더보기 조건 덕분에 별로 어렵지 않았던 문제이다. 숫자에 0이 포함되어 있지 않고, 숫자도 3자리라는 제한 조건이 있으므로 swap과 stoi를 이용해 쉽게 해결할 수 있다. void swap(string& str) { char temp; temp = str[0]; str[0] = str[2]; str[2] = temp; } void solution(string s1..

[백준 / BOJ] 1152번 단어의 개수 (C++, Python)
◎ 자료구조와 알고리즘/백준(BOJ) 문제풀이2022. 1. 17. 13:30[백준 / BOJ] 1152번 단어의 개수 (C++, Python)

링크 : https://www.acmicpc.net/problem/1152 1152번: 단어의 개수 첫 줄에 영어 대소문자와 공백으로 이루어진 문자열이 주어진다. 이 문자열의 길이는 1,000,000을 넘지 않는다. 단어는 공백 한 개로 구분되며, 공백이 연속해서 나오는 경우는 없다. 또한 문자열 www.acmicpc.net 문제 문제 풀이 C++ 상세 풀이 더보기 공백까지 입력받기 위해 getline을 써 준다. 단어의 앞 뒤로 모두 공백이 올 수 있으므로, isspace 함수를 활용해 공백(탭, 개행 모두 포함)인지 판단한다. 참고로 isspace 함수는 공백이면 0이 아닌 수를 반환한다. void solution(string str) { int len = str.length(); int cnt = ..

[백준 / BOJ] 1157번 단어 공부 (C++, Python)
◎ 자료구조와 알고리즘/백준(BOJ) 문제풀이2022. 1. 17. 09:52[백준 / BOJ] 1157번 단어 공부 (C++, Python)

링크 : https://www.acmicpc.net/problem/1157 1157번: 단어 공부 알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다. www.acmicpc.net 문제 문제 풀이 C++ 상세 풀이 더보기 void solution(string str) { int max = 0; int cnt = 0, val = 0; int len = str.length(); for (int i = 0; i < len; i++) { alp[str[i] - 65]++; } for (int i = 0; i < 26; i++) { if (max < alp[i]) { val = i; max = alp[i];..

[백준 / BOJ] 2675번 문자열 반복 (C++, Python)
◎ 자료구조와 알고리즘/백준(BOJ) 문제풀이2022. 1. 17. 09:34[백준 / BOJ] 2675번 문자열 반복 (C++, Python)

링크 : https://www.acmicpc.net/problem/2675 2675번: 문자열 반복 문자열 S를 입력받은 후에, 각 문자를 R번 반복해 새 문자열 P를 만든 후 출력하는 프로그램을 작성하시오. 즉, 첫 번째 문자를 R번 반복하고, 두 번째 문자를 R번 반복하는 식으로 P를 만들면 된다 www.acmicpc.net 문제 문제 풀이 이중 for문을 활용하면 쉽게 풀린다. C++ 코드 전문 HTML 삽입 미리보기할 수 없는 소스 Python 코드 전문 HTML 삽입 미리보기할 수 없는 소스 소감

[백준 / BOJ] 10809번 알파벳 찾기 (C++, Python)
◎ 자료구조와 알고리즘/백준(BOJ) 문제풀이2022. 1. 17. 09:22[백준 / BOJ] 10809번 알파벳 찾기 (C++, Python)

링크 : https://www.acmicpc.net/problem/10809 10809번: 알파벳 찾기 각각의 알파벳에 대해서, a가 처음 등장하는 위치, b가 처음 등장하는 위치, ... z가 처음 등장하는 위치를 공백으로 구분해서 출력한다. 만약, 어떤 알파벳이 단어에 포함되어 있지 않다면 -1을 출 www.acmicpc.net 문제 문제 풀이 여러 가지 아이디어가 있지만 크기가 26인 배열을 선언해 해결하는 것이 가장 간단해 보인다. C++ 상세 풀이 더보기 do { cin.get(c); i++; if (alp[c - 97] != -1) continue; alp[c - 97] = i; } while (c != '\n'); 알파벳이 26개이므로 배열의 크기는 26으로 설정했다. 다시금 cin / ci..

[백준 / BOJ] 11720번 숫자의 합 (C++, Python)
◎ 자료구조와 알고리즘/백준(BOJ) 문제풀이2022. 1. 17. 08:09[백준 / BOJ] 11720번 숫자의 합 (C++, Python)

링크 : https://www.acmicpc.net/problem/11720 11720번: 숫자의 합 첫째 줄에 숫자의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에 숫자 N개가 공백없이 주어진다. www.acmicpc.net 문제 문제 풀이 이전 문제에서 활용했던 아스키 코드를 사용해야 한다. 파이썬은 내장함수로 해결 가능하다. C++ 코드 전문 HTML 삽입 미리보기할 수 없는 소스 Python 코드 전문 HTML 삽입 미리보기할 수 없는 소스 소감

[백준 / BOJ] 11654번 아스키 코드 (C++, Python)
◎ 자료구조와 알고리즘/백준(BOJ) 문제풀이2022. 1. 17. 07:24[백준 / BOJ] 11654번 아스키 코드 (C++, Python)

링크 : https://www.acmicpc.net/problem/11654 11654번: 아스키 코드 알파벳 소문자, 대문자, 숫자 0-9중 하나가 주어졌을 때, 주어진 글자의 아스키 코드값을 출력하는 프로그램을 작성하시오. www.acmicpc.net 문제 문제 풀이 숫자를 이용해서 문자를 표현하도록 하려면 숫자를 문자에 매핑시켜야 한다. 이를 연결하는 방법 중 아스키 코드를 쓰는 방법이 있고, 아래의 표를 참고하면 프로그래밍 언어에서 변환하는 기준을 찾을 수 있다. C++에서는 int, char 변수에 (char), (int)를 붙이면 알아서 변환되고, python에서는 ord명령어를 사용하면 된다. C++ 코드 전문 HTML 삽입 미리보기할 수 없는 소스 Python 코드 전문 HTML 삽입 미리..

[백준 / BOJ] 1065번 한수 (C++, Python)
◎ 자료구조와 알고리즘/백준(BOJ) 문제풀이2021. 9. 7. 00:31[백준 / BOJ] 1065번 한수 (C++, Python)

링크 : https://www.acmicpc.net/problem/1065 1065번: 한수 어떤 양의 정수 X의 각 자리가 등차수열을 이룬다면, 그 수를 한수라고 한다. 등차수열은 연속된 두 개의 수의 차이가 일정한 수열을 말한다. N이 주어졌을 때, 1보다 크거나 같고, N보다 작거나 www.acmicpc.net 문제 문제 풀이 어떤 양의 정수 X의 각 자리가 등차수열을 이룬다면, 그 수가 한수라고 한다. 그렇다면 입력받은 N까지 반복문을 돌리며 한수를 구할 수 있는 함수에 넣으면 해결된다. C++ 코드 전문 HTML 삽입 미리보기할 수 없는 소스 Python 코드 전문 HTML 삽입 미리보기할 수 없는 소스 소감

[백준 / BOJ] 4673번 셀프 넘버 (C++, Python)
◎ 자료구조와 알고리즘/백준(BOJ) 문제풀이2021. 9. 6. 23:44[백준 / BOJ] 4673번 셀프 넘버 (C++, Python)

링크 : https://www.acmicpc.net/problem/4673 4673번: 셀프 넘버 셀프 넘버는 1949년 인도 수학자 D.R. Kaprekar가 이름 붙였다. 양의 정수 n에 대해서 d(n)을 n과 n의 각 자리수를 더하는 함수라고 정의하자. 예를 들어, d(75) = 75+7+5 = 87이다. 양의 정수 n이 주어졌을 때, www.acmicpc.net 문제 문제 풀이 문제가 살짝 이해가 가지 않아 처음에 많이 고생했던 문제다. 생성자? 셀프 넘버? 생성자가 없는 숫자를 어떻게 구하지? 결국 역으로 생각하는 수밖에 없었다. 일단 생성자가 있는 숫자를 1부터 10000까지 구하고, 없었던 숫자만 출력하는 식으로 해결했다. C++ 상세 풀이 더보기 int non_self_num(int num..

[백준 / BOJ] 15596번 정수 N개의 합 (C++, Python)
◎ 자료구조와 알고리즘/백준(BOJ) 문제풀이2021. 9. 5. 15:58[백준 / BOJ] 15596번 정수 N개의 합 (C++, Python)

링크 : https://www.acmicpc.net/problem/15596 15596번: 정수 N개의 합 C++17, Java 8, Python 3, C11, PyPy3, C99, C++98, C++11, C++14, Go, C99 (Clang), C++98 (Clang), C++11 (Clang), C++14 (Clang), C11 (Clang), C++17 (Clang) www.acmicpc.net 문제 문제 풀이 문제 조건에 작성해야 하는 함수의 틀이 나와있으므로 그대로 따라주면 된다. C++ 코드 전문 HTML 삽입 미리보기할 수 없는 소스 Python 코드 전문 HTML 삽입 미리보기할 수 없는 소스 소감

[백준 / BOJ] 4344번 평균은 넘겠지 (C++, Python)
◎ 자료구조와 알고리즘/백준(BOJ) 문제풀이2021. 9. 5. 15:48[백준 / BOJ] 4344번 평균은 넘겠지 (C++, Python)

링크 : https://www.acmicpc.net/problem/4344 4344번: 평균은 넘겠지 대학생 새내기들의 90%는 자신이 반에서 평균은 넘는다고 생각한다. 당신은 그들에게 슬픈 진실을 알려줘야 한다. www.acmicpc.net 문제 문제 풀이 이 문제는 수학적인 요소가 어렵다기보다는 출력을 어떻게 해야할지 더 고민이 되는 문제다. C++ 상세 풀이 더보기 std::cout

[백준 / BOJ] 8958번 OX퀴즈 (C++, Python)
◎ 자료구조와 알고리즘/백준(BOJ) 문제풀이2021. 9. 5. 13:30[백준 / BOJ] 8958번 OX퀴즈 (C++, Python)

링크 : https://www.acmicpc.net/problem/8958 8958번: OX퀴즈 "OOXXOXXOOO"와 같은 OX퀴즈의 결과가 있다. O는 문제를 맞은 것이고, X는 문제를 틀린 것이다. 문제를 맞은 경우 그 문제의 점수는 그 문제까지 연속된 O의 개수가 된다. 예를 들어, 10번 문제의 점수 www.acmicpc.net 문제 문제 풀이 O가 연속되는 상황을 어떻게 셀 것인지가 관건인 문제다. C++ 상세 풀이 더보기 for (int j = 0; j < len; j++) { if (arr[j] == 'O') { score += count; count++; } else if (arr[j] == 'X') count = 1; } count 변수는 점점 증가하는 점수를 위해 따로 할당한 변수다..

image