반응형

문자열 7

[BOJ] 2941 - 크로아티아 알파벳

https://www.acmicpc.net/problem/2941 2941번: 크로아티아 알파벳 예전에는 운영체제에서 크로아티아 알파벳을 입력할 수가 없었다. 따라서, 다음과 같이 크로아티아 알파벳을 변경해서 입력했다. 크로아티아 알파벳 변경 č c= ć c- dž dz= đ d- lj lj nj nj š s= ž z= www.acmicpc.net import sys alpha = ['c=', 'c-', 'dz=', 'd-', 'lj', 'nj', 's=', 'z='] input = list(sys.stdin.readline().rstrip()) input.reverse() sum = 0 while len(input) > 1: str = input.pop() if str == 'c' or str == '..

알고리즘/BOJ 2022.06.27

[BOJ] 5622 - 다이얼

https://www.acmicpc.net/problem/5622 5622번: 다이얼 첫째 줄에 알파벳 대문자로 이루어진 단어가 주어진다. 단어의 길이는 2보다 크거나 같고, 15보다 작거나 같다. www.acmicpc.net data = input() array = ['ABC', 'DEF', 'GHI', 'JKL', 'MNO', 'PQRS', 'TUV', 'WXYZ'] sum = 0 for i in data: for j in array: if i in j: sum += array.index(j) + 3 break print(sum) 이 문제의 전제 조건을 보면 하나의 문자를 처리하면 원래의 위치에서 다시 시작해야 하므로 모든 입력을 처리하는데 걸리는 시간은 문자열의 순서와는 상관없이 똑같다는 것을 알 ..

알고리즘/BOJ 2022.01.09

[BOJ] 1157 - 단어 공부

https://www.acmicpc.net/problem/1157 1157번: 단어 공부 알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다. www.acmicpc.net 나의 코드 data = input() data = data.upper() count = [0] * 26 for i in data: index = ord(i) - ord('A') count[index] += 1 max = 0 for i in range(len(count)): if max < count[i]: max = count[i] max_alpha = i result = chr(ord('A') + max_alpha) count...

알고리즘/BOJ 2022.01.06

[파이썬 문법] 문자열 보충(슬라이싱, 문자열 함수)

문자열 연산(더하기, 곱하기) '+'를 통해 문자열끼리 연결할 수 있으며 '문자열 * 정수'를 통해 해당 문자열을 반복할 수 있다. 이는 [파이썬 문법] 그 외 다양한 자료형(문자열, 튜플, 사전, 집합)에서 다루었다. 문자열 슬라이싱 문자열도 리스트와 같이 인덱싱과 슬라이싱을 할 수 있다. a[start:end:step] start: 슬라이싱을 시작할 인덱스 end: 슬라이싱을 끝낼 인덱스(end 포함 x) step: 몇 개씩 끊어서 가져올지와 슬라이싱 방향을 결정 start, end, step 모두 양수와 음수를 가질 수 있다. ※ start 속성 활용 a = ['a', 'b', 'c', 'd', 'e'] print(a[1:]) # 1번 인덱스부터 끝까지 print(a[-3:]) # -3번 인덱스부터..

[BOJ] 1439 - 뒤집기

https://www.acmicpc.net/problem/1439 1439번: 뒤집기 다솜이는 0과 1로만 이루어진 문자열 S를 가지고 있다. 다솜이는 이 문자열 S에 있는 모든 숫자를 전부 같게 만들려고 한다. 다솜이가 할 수 있는 행동은 S에서 연속된 하나 이상의 숫자를 잡고 모 www.acmicpc.net import sys data = sys.stdin.readline().rstrip() count0 = 0 count1 = 0 if data[0] == '1': count0 += 1 else: count1 += 1 for i in range(len(data) - 1): if data[i] != data[i+1]: if data[i+1] == '1': count0 += 1 else: count1 +=..

알고리즘/BOJ 2022.01.04

[파이썬 문법] 그 외 다양한 자료형(문자열, 튜플, 사전, 집합)

문자열 자료형 문자열 변수를 초기화할 때는 큰따옴표(")나 작은따옴표(')를 이용한다. 다만 문자열 안에 큰따옴표나 작은따옴표가 포함되어야 하는 경우가 있다. 기본적으로 문자열을 큰따옴표로 구성하는 경우, 내부적으로 작은따옴표를 포함할 수 있고 반대로 문자열을 작은따옴표로 구성하는 경우, 내부적으로 큰따옴표를 포함할 수 있다. 혹은 백슬래시(\)를 사용하면, 큰 따옴표나 작은따옴표를 문자열에 원하는 만큼 포함시킬 수 있다. data = "Don't you know \"Python\"?" print(data) 문자열 연산 파이썬은 문자열에 대한 연산도 지원한다. 자바와 같이 문자열 변수에 덧셈(+)을 이용하면 단순히 문자열이 더해져서 연결된다. C언어에서는 strcat()을 사용해야 한다. 또한 파이썬에서..

반응형