취뽀 기록

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

코드트리 풀이 70

[코드트리] 문자 수정 > 문자열 놀이(★)

문자열 s와 q개의 질의가 주어졌을 때 각 질의를 수행하는 프로그램을 작성해보세요. 단, 질의를 순서대로 수행해야 하며, 문자열은 질의에 따라 계속 변합니다. 질의의 종류는 다음과 같습니다. 1 a b a번째 문자와 b번째 문자를 교환한 뒤 출력합니다. 2 a b 문자 a를 전부 문자 b로 변경한 뒤 출력합니다. s, q = input().split() s = list(s) q = int(q) for _ in range(q): arr = list(input().split()) if arr[0] == '1': s[int(arr[1])-1], s[int(arr[2])-1] = s[int(arr[2])-1], s[int(arr[1])-1] if arr[0] == '2': for i in range(len(s)..

[코드트리] 격자로서의 2차원 배열 > 격자에 점 그리기

m개의 점이 주어졌을 때 각각의 점을 n * n 크기의 격자에 번호를 표시하여 출력하는 프로그램을 작성해보세요. 점의 번호는 정보가 따로 주어지진 않고 입력된 순서대로 부여됩니다. 즉 첫 번째로 입력된 점은 1, k번째로 입력된 점은 k입니다. n, m = tuple(map(int, input().split())) placed = [ [0 for _ in range(n)] for _ in range(n) ] for i in range(m): r, c = tuple(map(int, input().split())) placed[r-1][c-1] = i+1 for rows in placed: for elem in rows: print(elem, end = " ") print() # 해설 # 2차원 배열을 구현..

[코드트리] 순서대로 채우기 > 격자로 사각형 만들기

아래 조건을 만족하도록 격자를 만들어 출력하는 프로그램을 작성해보세요. 첫 번째 행과 첫 번째 열에는 모두 1이 들어갑니다. 나머지 칸들은 바로 위의 값과 바로 왼쪽 값, 그리고 왼쪽 위의 값의 합이 되어야 합니다. 크기는 n x n 입니다. # 2차원 배열 생성 n = int(input()) arr_2d = [ [1 for _ in range(n)] for _ in range(n) ] for i in range(1, n): for j in range(1, n): arr_2d[i][j] = arr_2d[i-1][j] + arr_2d[i-1][j-1] + arr_2d[i][j-1] # 출력 for rows in arr_2d: for elem in rows: print(elem, end = " ") prin..

[코드트리] 새로운 2차원 배열의 선언 > 숫자 직사각형

정수 n과 m의 값을 입력받아 숫자로 이루어진 직사각형을 출력하는 프로그램을 아래 예를 참고하여 작성해보세요. 단, 2차원 배열을 꼭 사용하여 해결해보세요. 예) n에 3을 m에 5를 입력받는 경우 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 # 풀이 1 n, m = list(map(int, input().split())) # 행의 개수 n, 열의 개수 m 입력 받기 # n, m = tuple(map(int, input().split())) 이렇게 해도 됨 # 2차원 배열 구현 arr_2d = [ [0 for _ in range(m)] for _ in range(n) ] # n * m 크기의 배열에 숫자를 채워 넣기 num = 1 for i in range(n): # n행 for j ..

[코드트리] 2차원 배열 입력 > 배열의 평균(★)

숫자로 이루어진 2행 4열의 배열이 주어지면 가로 평균, 세로 평균, 전체 평균을 소수 첫째 자리까지만 출력하는 프로그램을 작성해보세요. # 2차원 배열을 구현해 각 줄마다 정수를 입력받습니다. arr_2d = [ list(map(int, input().split())) for _ in range(2) ] # 가로 평균을 출력합니다. for i in range(2): sum_val = 0 for j in range(4): sum_val += arr_2d[i][j] print(f"{sum_val / 4:.1f}", end=" ") print() # 세로 평균을 출력합니다. for i in range(4): sum_val = 0 for j in range(2): sum_val += arr_2d[j][i] p..

[코드트리] 문자열을 정수로 변환하기 > 알파벳 지우기

알파벳과 숫자로 이루어진 문자열이 두 개 주어지면, 각 문자열에서 알파벳을 제외하고 남은 숫자부분을 차례대로 이어붙여 만든 수를 구하고, 두 문자열에서 구한 두 수의 합을 구하는 프로그램을 작성해보세요. # 문자열을 구현하여 입력받습니다. a = input() b = input() idx1 = 0 idx2 = 0 str1 = "" str2 = "" # a의 정수로 변환 가능한 부분을 다른 문자열로 옮깁니다. for elem in a: if ord(elem) = ord('0'): str1 += elem # b의 정수로 변환 가능한 부분을 다른 문자열로 옮깁니다. for elem in b: if ord(elem) = ord('0'): str2 += elem # 합쳐진 문자열을 숫자로 바꿉니다. str1 = ..

[코드트리] 문자열을 정수로 변환하기 > 정수만 추출하기

공백을 포함하지 않는 두 개의 문자열이 주어지면 앞에서부터 정수 이외의 문자가 나오기 전까지의 부분에서 정수로 변환 가능한 부분을 변환한 후 두 수의 합을 출력하는 프로그램을 작성해보세요. # 문자열을 구현하여 입력받습니다. a, b = input().split() idx1 = 0 idx2 = 0 # a의 정수로 변환 가능한 최대 인덱스를 찾습니다. for elem in a: if elem = '0': idx1 += 1 else: break # b의 정수로 변환 가능한 최대 인덱스를 찾습니다. for elem in b: if elem = '0': idx2 += 1 else: break str1 = a[:idx1] str2 = b[:idx2] # 합쳐진 문자열을 숫자로 바꿉니다. str1 = int(str..

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

알파벳으로 이루어진 문자열이 주어지면, 문자열의 길이를 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] == ..