파이썬(Python)(58)
-
문자열 문제풀이2
Q) 부분 문자열의 개수 - 문자열 A와 문자열 B를 입력 - 문자열 B가 문자열 A의 부분 문자열로 등장하는 횟수를 출력 string=input() substring=input() cnt=0 for i in range(len(string)-len(substring)+1): if substring==string[i:i+len(substring)]: cnt+=1 print(cnt) 결과 >> ababababab >> ba 4 Q) 문자열 프로그램 - 문자열 string과 자연수 n을 입력 - n개의 질의를 수행 - 질의를 수행할 때마다 수행한 string을 출력. - string은 질의에 따라 계속 변함 - 질의의 종류 2가지. - swap a b : a번째 문자와 b번째 문자를 교환 후 출력. (1 ac..
2022.11.09 -
문자열 문제 풀이
Q) 긴 문자열 - 두 개의 단어를 입력 - 더 긴 단어와 두 단어의 길이의 차를 출력 - 두 단어의 길이가 같다면 'same' 출력 a,b=input().split() if len(a)> banana apple banana 1 >> hello world same Q) 문자 개수 세기 - 공백을 포함할 수 있는 문자열 입력 - 알파벳 1개 입력 - 주어진 문자열에 해당 알파벳이 몇 개 있는지 출력 string=input() word=input() cnt=0 for elem in string: if elem==word: cnt+=1 print(cnt) 결과 >> hello world >> l 3 Q) 문자열 길이의 합 - 자연수 n을 입력 - n개의 문자열을 입력 - 알파벳 입력 - 모든 문자열 길이의 합..
2022.11.08 -
문자열
1. 문자열 입력 - input() 함수 이용. input_word=input() print(input_word) 결과 >> hello hello - 문자열은 1차원 배열과 같다. - 만약 문자열의 첫 번째 문자를 참조하기 위해서는 0번지를 참조. - 문자열의 k 번째 문자를 참조하기 위해서는 k-1번지를 참조. input_word=input() print(input_word[0]) # 1번째 문자 print(input_word[2]) # 3번째 문자 결과 >> hello h l 2. 문자열의 길이 - len() 함수 이용 input_word=input() print(len(input_word)) 결과 >> banana 6 3. 공백을 포함한 문자열 - 입력한 문자열이 hello world일 때 - 입력..
2022.11.03 -
2차원 배열 활용 2
Q) 대각선으로 숫자 채우기 - 자연수 n, m 입력 - n*m 크기의 배열에 숫자를 1부터 1씩 증가시켜 대각선 방향으로 숫자를 채우기 결과 >> 3 4 1 2 4 7 3 5 8 10 6 9 11 12 n,m=map(int,input().split()) arr=[[0 for _ in range(m)] for _ in range(n)] num=1 for i in range(m): j=0 while True: arr[j][i]=num num+=1 j+=1 i-=1 if im-1 or jn-1: break for i in range(1,n): j=m-1 while True: arr[i][j]=num num+=1 i+=1 j-=1 if in-1 or jm-1: break for i in arr: for j i..
2022.11.03 -
2차원 배열 활용
1. 0으로 초기화된 2차원 배열 생성 - list comprehension 이용해서 n*m 크기의 배열 생성 n,m=map(int,input().split()) arr=[[0 for _ in range(m)] for _ in range(n)] print(arr) 결과 >> 3 4 [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]] 2. 2차원 배열 출력 - 중첩 반복문을 활용하여 range를 사용 arr=[[1,2,3,4], [5,6,7,8], [9,10,11,12]] for i in range(3): for j in range(4): print(arr[i][j],end=' ') print() 결과 1 2 3 4 5 6 7 8 9 10 11 12 - range 없이 리스트 내 ..
2022.10.28 -
2차원 배열
1. 2차원 배열 입력 - n개의 줄에 걸쳐 각 n개의 숫자를 공백을 사이에 두고 입력. - 행 단위로 합을 구할 때 n=int(input()) for _ in range(n): arr=list(map(int,input().split())) print(sum(arr)) 결과 >> 4 >> 1 2 3 4 10 >> 5 6 7 8 26 >> 9 10 11 12 42 >> 13 14 15 16 58 - 위와 같은 방법으로는 행 단위로 합을 구할 수 있지만 열 단위로 합을 구하는 것은 불가능. - 열 단위의 합을 구하기 위해서 2차원 배열을 사용 [[1,2,3,4], [5,6,7,8], [9,10,11,12], [13,14,15,16]] - 각 원소는 행을 의미 n=int(input()) arr2=[] for ..
2022.10.26