-- 예전 기록/BOJ 369

[ BOJ ] 10987 : 모음의 개수 ( BRONZE 3 ) / C, Python

문제 알파벳 소문자로만 이루어진 단어가 주어진다. 이때, 모음(a, e, i, o, u)의 개수를 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 단어가 주어진다. 단어의 길이는 1보다 크거나 같고, 100보다 작거나 같으며, 알파벳 소문자로만 이루어져 있다. 출력 첫째 줄에 모음의 개수를 출력한다. 풀이 과정 문자열을 처음부터 끝까지 탐색하면서 a, e, i, o, u 문자가 등장한 횟수를 출력한다. C #include #include int main(void) { char str[101]; scanf("%s", str); int cnt = 0; for (int i = 0; i < strlen(str); i++) { if (str[i] == 'a' || str[i] == 'e' || str[i] == ..

[ BOJ ] 29766 : DKSH 찾기 ( BRONZE 4 ) / C, Python

문제 학교의 로고인 DKSH는 Dankook University Software High School의 약자이다. D, K, S, H로만 이루어진 문자열이 주어진다. 이 문자열에서 DKSH가 몇 번 나타나는지 구해보자. 입력 첫째 줄에 문자열이 입력된다. 문자열의 길이는 1,000을 넘지 않는다. 출력 첫째 줄에 입력된 문자열에서 DKSH가 몇 번 나타나는지 출력한다. 풀이 과정 문자열을 처음부터 끝까지 탐색하면서, DKSH 가 나타나는 횟수를 센다. C #include #include int main(void) { char str[1001]; scanf("%s", str); int cnt = 0; for (int i = 0; i < strlen(str) - 3; i++) { // 문자열은 0부터 str..

[ BOJ ] 23803 : 골뱅이 찍기 - ㄴ ( BRONZE 3 ) / C, Python

문제 서준이는 아빠로부터 골뱅이가 들어 있는 상자를 생일 선물로 받았다. 상자 안에는 ㄴ자 모양의 골뱅이가 들어있다. ㄴ자 모양은 가로 및 세로로 각각 5개의 셀로 구성되어 있다. 상자에는 정사각형 모양의 셀의 크기를 나타내는 숫자 하나가 적혀있다. 셀의 크기 N이 주어지면 예제 출력과 같은 방식으로 골뱅이 모양을 출력하시오. 입력 첫째 줄에 정수 N(1 ≤ N ≤ 100)이 주어진다. 출력 셀의 크기가 N인 골뱅이를 출력한다. 풀이 과정 예제 입출력에서 보여지는 글자의 확대 양상을 잘 파악해야 한다. 셀 크기가 1일 때의 한 줄을 가로로 N배, 세로로 N배 확대하여 출력하는 문제이다. ㄴ의 1번째 행 : N x N 크기의 @ 을 출력한다. ㄴ의 2번째 행 : N x N 크기의 @ 을 출력한다. ㄴ의 3..

[ BOJ ] 23804 : 골뱅이 찍기 - ㄷ ( BRONZE 3 ) / C, Python

문제 서준이는 아빠로부터 골뱅이가 들어 있는 상자를 생일 선물로 받았다. 상자 안에는 ㄷ자 모양의 골뱅이가 들어있다. ㄷ자 모양은 가로 및 세로로 각각 5개의 셀로 구성되어 있다. 상자에는 정사각형 모양의 셀의 크기를 나타내는 숫자 하나가 적혀있다. 셀의 크기 N이 주어지면 예제 출력과 같은 방식으로 골뱅이 모양을 출력하시오. 입력 첫째 줄에 정수 N(1 ≤ N ≤ 100)이 주어진다. 출력 셀의 크기가 N인 골뱅이를 출력한다. 풀이 과정 예제 입출력에서 보여지는 글자의 확대 양상을 잘 파악해야 한다. 셀 크기가 1일 때의 한 줄을 가로로 N배, 세로로 N배 확대하여 출력하는 문제이다. ㄷ의 1번째 행 : N x 5N 크기의 @ 을 출력한다. ㄷ의 2번째 행 : N x N 크기의 @ 을 출력한다. ㄷ의 ..

[ BOJ ] 1225 : 이상한 곱셈 ( BRONZE 2 ) / C, Python

문제 A×B를 계산하다 지겨워진 형택이는 A×B를 새로운 방법으로 정의하려고 한다. A에서 한 자리를 뽑고 × B에서 임의로 한 자리를 뽑아 곱한다. 의 가능한 모든 조합 (A가 n자리, B가 m자리 수라면 총 가능한 조합은 n×m개)을 더한 수로 정의하려고 한다. 예를 들어 121×34는 1×3 + 1×4 + 2×3 + 2×4 + 1×3 + 1×4 = 28 이 된다. 이러한 형택이의 곱셈 결과를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 A와 B가 주어진다. 주어지는 두 수는 모두 10,000자리를 넘지 않는 음이 아닌 정수이다. 수가 0인 경우에는 0만 주어지며, 그 외의 경우 수는 0으로 시작하지 않는다. 출력 첫째 줄에 형택이의 곱셈 결과를 출력한다. 풀이 과정 10000 자리의 숫자를 정수 ..

[ BOJ ] 23811 : 골뱅이 찍기 - ㅌ ( BRONZE 3 ) / C, Python

문제 서준이는 아빠로부터 골뱅이가 들어 있는 상자를 생일 선물로 받았다. 상자 안에는 ㅌ자 모양의 골뱅이가 들어있다. ㅌ자 모양은 가로 및 세로로 각각 5개의 셀로 구성되어 있다. 상자에는 정사각형 모양의 셀의 크기를 나타내는 숫자 하나가 적혀있다. 셀의 크기 N이 주어지면 예제 출력과 같은 방식으로 골뱅이 모양을 출력하시오. 입력 첫째 줄에 정수 N(1 ≤ N ≤ 100)이 주어진다. 출력 셀의 크기가 N인 골뱅이를 출력한다. 풀이 과정 예제 입출력에서 보여지는 글자의 확대 양상을 잘 파악해야 한다. 셀 크기가 1일 때의 한 줄을 가로로 N배, 세로로 N배 확대하여 출력하는 문제이다. ㅌ의 1번째 행 : N x 5N 크기의 @ 을 출력한다. ㅌ의 2번째 행 : N x N 크기의 @ 을 출력한다. ㅌ의 ..

[ BOJ ] 1032 : 명령 프롬프트 ( BRONZE 1 ) / C, Python

문제 시작 -> 실행 -> cmd를 쳐보자. 검정 화면이 눈에 보인다. 여기서 dir이라고 치면 그 디렉토리에 있는 서브디렉토리와 파일이 모두 나온다. 이때 원하는 파일을 찾으려면 다음과 같이 하면 된다. dir *.exe라고 치면 확장자가 exe인 파일이 다 나온다. "dir 패턴"과 같이 치면 그 패턴에 맞는 파일만 검색 결과로 나온다. 예를 들어, dir a?b.exe라고 검색하면 파일명의 첫 번째 글자가 a이고, 세 번째 글자가 b이고, 확장자가 exe인 것이 모두 나온다. 이때 두 번째 문자는 아무거나 나와도 된다. 예를 들어, acb.exe, aab.exe, apb.exe가 나온다. 이 문제는 검색 결과가 먼저 주어졌을 때, 패턴으로 뭘 쳐야 그 결과가 나오는지를 출력하는 문제이다. 패턴에는 ..

[ BOJ ] 26594 : ZOAC 5 ( BRONZE 3 ) / C, Python

문제 2022년 12월, 다섯 번째로 개최된 ZOAC의 오프닝을 맡은 성우는 누구보다 화려하게 ZOAC를 알리려 한다. 매번 새로운 방식으로 문자열을 보여주던 성우는 이번 대회에서는 평범하게 앞 글자부터 하나씩 보여주기로 했다. 성우는 문자를 입력하기 위해 키보드로 손을 뻗은 순간, 실수로 마시던 소주를 키보드에 쏟아버리고 말았다... 알코올에 취한 키보드는 어떤 자판을 한 번만 눌러도 N번 누른 것처럼 인식을 하게 되어버렸다! 소중한 키보드를 고치기 위해 고장 접수를 하는 성우는 N을 정확하게 알아야 한다. 눈물이 앞을 가려 모니터를 제대로 볼 수 없는 성우를 위해 대신 N을 구해주도록 하자! 입력 첫째 줄에 성우가 고장 난 키보드로 입력한 문자열이 주어진다. 문자열의 길이는 1,000,000보다 크지..

[ BOJ ] 23891 : 타이어 끌기 ( GOLD 2 ) / Python

문제 타이어 끌기는 경기북과학고등학교의 운동회를 대표하는 인기 종목이다. 타이어 끌기의 규칙은 다음과 같다. N개의 타이어가 있으며, i번째 타이어는 S_i의 점수를 가진다. 양 팀에서는 각 타이어마다 해당 타이어를 끌어올 사람의 수를 배정한다. 각 타이어에 대해 더 많은 사람을 보낸 팀이 S_i만큼의 점수를 얻으며, 배정된 사람이 같은 경우 양 팀 모두 해당 타이어에 대한 점수를 얻지 못한다. 더 많은 점수를 얻은 팀이 승리한다. 1학년 1반의 브레인인 당신은 스파이를 통해 상대 팀인 1학년 2반이 타이어 별로 배정한 인원을 알게 되었다. 타이어의 개수 N, 1학년 1반의 학생 수 M, 각 타이어가 가지는 점수와 1학년 2반이 배정한 인원이 주어질 때, 1학년 1반을 승리로 이끌 수 있을지 판단해보자...

[ BOJ ] 20053 : 최소, 최대 2 ( BRONZE 3 ) / C, Python

문제 N개의 정수가 주어진다. 이때, 최솟값과 최댓값을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 테스트 케이스의 개수 T (1 ≤ T ≤ 10)가 주어진다. 각 테스트 케이스는 두 줄로 이루어져 있다. 각 테스트 케이스의 첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다. 출력 각 테스트 케이스마다 주어진 정수 N개의 최솟값과 최댓값을 공백으로 구분해 한 줄에 하나씩 차례대로 출력한다. 풀이 과정 최소, 최대 문제 https://readytojoin.tistory.com/154 에서 테스트 케이스가 추가된 문제이다. 반복문을 이..