옹실이의 개발이야기

2023/05/09 4

[백준] 알고리즘 #1152 : 단어의 개수 (Python)

문제 영어 대소문자와 공백으로 이루어진 문자열이 주어진다. 이 문자열에는 몇 개의 단어가 있을까? 이를 구하는 프로그램을 작성하시오. 단, 한 단어가 여러 번 등장하면 등장한 횟수만큼 모두 세어야 한다. 입력 첫 줄에 영어 대소문자와 공백으로 이루어진 문자열이 주어진다. 이 문자열의 길이는 1,000,000을 넘지 않는다. 단어는 공백 한 개로 구분되며, 공백이 연속해서 나오는 경우는 없다. 또한 문자열은 공백으로 시작하거나 끝날 수 있다. 출력 첫째 줄에 단어의 개수를 출력한다. 풀이 1. 문장을 입력받은 후 잘라서 string에 담는다. 2. 길이를 출력한다. 1 2 string = input().split() print(len(string)) cs

알고리즘 2023.05.09

[백준] 알고리즘 #2675 : 문자열 반복 (Python)

문제 문자열 S를 입력받은 후에, 각 문자를 R번 반복해 새 문자열 P를 만든 후 출력하는 프로그램을 작성하시오. 즉, 첫 번째 문자를 R번 반복하고, 두 번째 문자를 R번 반복하는 식으로 P를 만들면 된다. S에는 QR Code "alphanumeric" 문자만 들어있다. QR Code "alphanumeric" 문자는 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ\$%*+-./: 이다. 입력 첫째 줄에 테스트 케이스의 개수 T(1 ≤ T ≤ 1,000)가 주어진다. 각 테스트 케이스는 반복 횟수 R(1 ≤ R ≤ 8), 문자열 S가 공백으로 구분되어 주어진다. S의 길이는 적어도 1이며, 20글자를 넘지 않는다. 출력 각 테스트 케이스에 대해 P를 출력한다. 풀이 1. 테스트 개수..

알고리즘 2023.05.09

[백준] 알고리즘 #10809 : 알파벳 찾기 (Python)

문제 알파벳 소문자로만 이루어진 단어 S가 주어진다. 각각의 알파벳에 대해서, 단어에 포함되어 있는 경우에는 처음 등장하는 위치를, 포함되어 있지 않은 경우에는 -1을 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 단어 S가 주어진다. 단어의 길이는 100을 넘지 않으며, 알파벳 소문자로만 이루어져 있다. 출력 각각의 알파벳에 대해서, a가 처음 등장하는 위치, b가 처음 등장하는 위치, ... z가 처음 등장하는 위치를 공백으로 구분해서 출력한다. 만약, 어떤 알파벳이 단어에 포함되어 있지 않다면 -1을 출력한다. 단어의 첫 번째 글자는 0번째 위치이고, 두 번째 글자는 1번째 위치이다. 풀이 1. 문자열을 입력받아 tmp에 담는다. 2. a, z를 아스키코드로 변환해 a부터 z까지 개수만큼 for문..

알고리즘 2023.05.09

[백준] 알고리즘 #11720 : 숫자의 합 (Python)

문제 N개의 숫자가 공백 없이 쓰여있다. 이 숫자를 모두 합해서 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 숫자의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에 숫자 N개가 공백없이 주어진다. 출력 입력으로 주어진 숫자 N개의 합을 출력한다. 풀이 1. 숫자의 개수를 n, 숫자 N개를 tmp에 담는다. (string 배열로 담김) 2. 합을 계산할 변수를 하나 선언한다. (sum, 0으로 설정) 3. 숫자 n만큼 for문을 돌려 tmp 배열을 하나씩 가져온후, 숫자(int)로 변환해 sum에 더해준다. 4. for문이 끝난 후 최종합을 출력한다. 1 2 3 4 5 6 7 n = int(input()) tmp = input() sum = 0 for i in range(n): sum = su..

알고리즘 2023.05.09