취뽀 기록

#열심히 살자 #취업 #공부

Python 185

[코드트리] 문자열 밀기 > 문자열 한 칸씩 밀어내며 뒤집기

문자열 한 개 입력으로 주어지고 q개의 요청이 주어지면, 각 요청을 수행한 결과를 모두 출력하는 코드를 작성해보세요. 요청의 종류에는 아래의 세 가지가 있습니다. 가장 앞에 있는 문자를 제외한 나머지 문자를 한 칸씩 앞으로 당기고 가장 앞에 있던 문자를 가장 뒤로 옮깁니다. 가장 뒤에 있는 문자를 제외한 나머지 문자를 한 칸씩 뒤로 밀고 가장 뒤에 있던 문자를 가장 앞으로 옮깁니다. 문자열을 좌우로 뒤집습니다 # 문자열과 q를 입력받습니다. string, q_num = input().split() # 문자열 내 값을 직접 변경하기 위해서는 리스트로 변환하여 해결합니다. list_str = list(string) q_num = int(q_num) # 문자열의 길이를 구합니다. str_size = len(l..

[코드트리] 문자열 밀기 > 문자열 돌리기

알파벳으로 이루어진 문자열이 주어지면, 문자열의 길이를 L이라고 했을 때 오른쪽으로 한 글자씩 밀어서 출력하는 것을 L회 반복하는 프로그램을 작성해보세요. 예) ABCD가 주어지는 경우 ABCD DABC CDAB BCDA ABCD # 문자열을 입력받습니다. string = input() # 문자열의 길이를 구합니다. leng = len(string) # 문자열을 출력합니다. print(string) # 문자열을 오른쪽으로 한 칸 쉬프트하고 문자열을 출력합니다. 이를 len회 반복합니다. for _ in range(leng): # 문자열을 오른쪽으로 한 칸 쉬프트합니다. string = string[-1] + string[:-1] # 문자열을 출력합니다. print(string) # 나의 풀이 ------..

[코드트리] 문자열 찾기 > 부분문자열 위치 구하기(★)

주어진 입력 문자열에 대하여 목적 문자열이 부분 문자열로 존재하는 경우, 부분 문자열의 시작 인덱스를 출력하는 코드를 작성해보세요. 인덱스는 0부터 시작한다고 가정합니다. import sys input_str = input() target_str = input() input_len, target_len = len(input_str), len(target_str) # 입력 문자열의 각 문자를 시작점으로 하여 목적 문자열을 만들 수 있는지 확인합니다. for i in range(input_len): # input_str의 i 부터 i + target_len - 1까지의 원소가 # target_len의 0부터 target_len - 1 까지의 원소와 # 정확히 일치하는지 확인합니다. # 만약 input_str..

[코드트리] 문자열 찾기 > 부분 문자열의 개수

두 문자열 A와 B가 주어졌을 때, 문자열 B가 문자열 A의 부분 문자열로써 등장하는 횟수를 구하는 프로그램을 작성해보세요. # 문자열을 입력받습니다. a = input() b = input() ans = 0 # 문자열의 길이를 구합니다. len_a = len(a) # 문자열 b가 등장하는 횟수를 구합니다. for i in range(len_a - 1): if a[i] == b[0] and a[i + 1] == b[1]: ans += 1 # 출력 print(ans) # 나의 풀이 ---------------------------------------- a = input() b = input() cnt = 0 for i in range(len(a)): if a[i] == b[0]: if a[i+1] == ..

[python] 문자열 찾기, 문자열의 특정 위치 찾기_ index, find 함수

문자열 s에 특정 문자열 'ab'가 어느 위치에 포함되어 있는지 확인 s = 'appleabanana' length = len(s) start_idx = -1 for i in range(length - 1): if s[i] == 'a' and s[i + 1] == 'b': start_idx = i break print(start_idx) 이 때 for loop을 [0, length - 2] 에서만 돌아야 함에 유의! 이는 비교시에 i + 1 위치의 문자를 조회하기 때문 index 함수 이용 부분 문자열이 없는 경우에는 다음과 같이 ValueError가 발생 => 따라서 index 함수는 꼭 in 키워드와 함께 사용해야 함 s = 'appleabanana' if 'ab' in s: print(s.index..

[python] 특정 문자열이 있는지 찾기_slicing, for 문 이용

문자열 s에 특정 문자열 'ab'가 포함되어 있는지 여부 확인하기 s = 'appleabanana' length = len(s) exists = False for i in range(length - 1): if s[i] == 'a' and s[i + 1] == 'b': exists = True print(exists) slicing 이용하기 s = 'appleabanana' length = len(s) exists = False for i in range(length - 1): if s[i:i + 2] == 'ab': exists = True print(exists) in 키워드 사용하기 s = 'appleabanana' print('ab' in s) 만약 판단하고자 하는 부분문자열이 input으로 주어..

[코드트리] 문자열 Concat > 문자열 나누기(★)

공백과 숫자로만 이루어진 문자열과 그 문자열의 개수가 주어지면 다섯 개의 숫자씩 나누어서 출력하는 프로그램을 작성해보세요. # 문자열을 구현합니다. str_all = "" # n을 입력받습니다. n = int(input()) # 공백 단위로 문자열을 입력받습니다. string = input().split() # 문자열을 전부 붙입니다. for i in range(n): str_all += string[i] # 합쳐진 문자열의 길이를 구합니다. leng = len(str_all) # 합쳐진 문자열을 5개의 숫자마다 개행을 하여 출력합니다. for i in range(leng): print(str_all[i], end="") if (i + 1) % 5 == 0: print() # 나의 풀이 ---------..

[python] 문자열 추가하기, 연결하기_join함수

문자열끼리 + 연산 a, b = "apple", "banana" print(a + b) >> applebanana join 함수 이용 ','.join(['1', '2', '3']) -> '1,2,3' ':'.join(['11', '22', '33']) -> '11:22:33' ''.join(['a','b','c']) -> 'abc' 구분값이 없이 각 문자열을 하나로 합치려면 구분값으로 ''를 이용하면 된다. a, b, c = "apple", "banana", "candy" tot_str = "".join([a, b, c]) print(tot_str) >> applebananacandy

[코드트리] 문자열 순회하기 > 짝수 번째만 거꾸로 출력

문자열이 주어졌을 때, 주어진 문자열의 짝수 번째로 주어진 문자만을 고른 문자열을 역순으로(거꾸로) 출력하는 프로그램을 작성해보세요. # 문자열을 구현하여 입력받습니다. string = input() # 가장 먼저 출력해야 할 문자의 인덱스를 구합니다. idx = len(string) - 1 if idx % 2 == 0: idx -= 1 # 문자열을 순회하여 조건대로 문자를 출력합니다. for i in range(idx, -1, -2): print(string[i], end="") # 나의 풀이 -------------------------------- string = input() string = string[1::2] print(string[::-1])

[코드트리] 문자열 순회하기 > Run Length 인코딩

문자열 A가 주어졌을 때 문자열 A에 Run-Length Encoding을 적용한 이후의 결과를 구해보려고 합니다. Run-Length Encoding이란 간단한 비손실 압축 방식으로, 연속해서 나온 문자와 연속해서 나온 개수로 나타내는 방식입니다. 예를 들어, 문자열 A가 aaabbbbcbb인 경우 순서대로 a가 3번, b가 4번, c가 1번 그리고 b가 2번 나왔으므로 Run-Length Encoding을 적용하게 되면 a3b4c1b2가 됩니다. 문자열 A가 주어졌을 때, Run-Length Encoding을 적용한 이후의 결과를 출력하는 프로그램을 작성해보세요. # 변수 선언 및 입력: A = input() # 변환 encoded = "" # 입력의 첫번째 값을 읽고 초기화합니다. curr_char..