1.열에 있는 숫자들을 받아서 거꾸로 해준다. 여기서 reverse() 내장 함수가 사용된다. 2. 그 값을 새로운 행렬의 행에 넣어준다. def func(num): new_num = [] for j in range(N): #열 중심 temp = [] for i in range(N): temp.append(num[i][j]) #temp로 한 열을 다 넣어주고 temp.reverse() new_num.append(temp) #거꾸로한것을 행으로 넣어주다 return new_num T = int(input()) for tc in range(1,T+1): N = int(input()) num = [] # 2차원 배열 받기 for i in range(N): num.append(list(map(int,input(..
T = int(input()) for tc in range(1, T+1): N = int(input()) str_input = list(map(str,input().split())) str1 = [] str2 = [] half = int(N /2 - 0.2) #N개가 짝수개이면 half중간보다 하나 전까지 str1에 저장해주고 #홀수개 이면 중간값까지 str1에 넣어준다 for i in range(N): if i half and i < N: #3 4 str2.append(str_input[i]) result = [] for i in range(N): if i%2 == 0: result.append(str1.pop(0)) elif i%2 == 1: result.append(str2.pop(0)) print..
def stack_pop(words): for i in range(len(words)-1): if words[i] == words[i+1]: j = i for j in range(j,j+2): #연속된 두개 삭제 words.pop(i) return stack_pop(words) #재귀 return len(words) T = int(input()) for tc in range(1, T+1): words = list(input()) stack_pop(words) print("#{} {}".format(tc,stack_pop(words)))
T = int(input()) for tc in range(1, T+1): arr = input() N =len(arr) stack1 = [] result = 1 left = 0 right = 0 #왼쪽괄호들을 다 스택에 저장하고 오른쪽 괄호를 만난다면 pop해서 비교 for i in range(N): if arr[i] == '(' or arr[i] == '{': stack1.append(arr[i]) left += 1 if arr[i] == ')': right += 1 if len(stack1) > 0 and stack1.pop() != '(': result = 0 break elif arr[i] == '}': right += 1 if len(stack1) > 0 and stack1.pop() != '..
1. 왼쪽 괄호들은 스택에 저장한다 2. 오른쪽 괄호들을 만난다면 스택에 저장된 것을 맨뒤에서 하나씩 pop()하면서 검사해준다. 3. 짝이 맞으면 1 아니면 0 T = 10 for tc in range(1, T+1): N = int(input()) arr = input() stack1 = [] result = 1 #왼쪽괄호들을 다 스택에 저장하고 오른쪽 괄호를 만난다면 pop해서 비교 for i in range(N): if arr[i] == '(' or arr[i] == '{' or arr[i] == '[' or arr[i] == '': if len(stack1) > 0 and stack1.pop() != '
T = int(input()) for tc in range(1, T+1): N = int(input()) num = [] for i in range(1,N+1): num.append([1]*i) #처음에 1로 다 채워주기 for i in range(0, N): if i >= 2: #행이 i인덱스 2이상일 때만 돌아간다 for j in range(1, len(num[i])-1): #맨 처음이랑 맨 마지막 범위를 제외하고 num[i][j] = num[i-1][j] + num[i-1][j-1] #자기 자신보다 위에 인덱스 값 + 왼위 인덱스 값 print("#{}".format(tc)) for i in range(N): print(*num[i])
def num_del(nums): N = len(nums) for i in range(0, N-1): # N-1개 반복해야함 if nums[i] == nums[i + 1]: #둘다 삭제 해야함 j = i for j in range(j,j+2): del nums[i] # 삭제하고 다시 for문 돌려줘야함 return num_del(nums) return nums T = 10 for tc in range(1, T+1): N, nums = map(list,input().split()) # ['1', '2', '3', '8', '0', '9', '9', '0', '8', '4'] num_del(nums) print("#{} {}".format(tc,''.join(nums)))
T = int(input()) for tc in range(1, T+1): N,M = map(int,input().split()) words = [list(input())for _ in range(N)] #글자하나하나씩 받아줌 #회문이 가로일때 for i in range(N): for j in range(N-M+1): temp1 = [] temp2 = [] result = [] for k in range(M): temp1.append(words[i][j+k]) #행하나에 temp2.append(temp1[::-1]) if temp2[0] == temp1: print("#{} ".format(tc), end='') print(''.join(temp2[0])) #회문이 세로일 때 for i in range(..
리스트 슬라이싱 a= [1,2,3,4,5] a[-1] : 뒤에 첫번째= [5] (맨 마지막요소) , a[-2]이면 뒤에서 두번째인 [4]가 나온다 a[::-1] : 뒤에서 하나씩 자르면서 = [5,4,3,2,1 ] a[:2] : 끝이 2이면 인덱스 0,1만 = [1,2] a[1:] : 인덱스 1부터 끝까지 = [2,3,4,5] a[1,4] : 인덱스 1,2,3만 = [2,3,4] 리스트 내포방식을 활용한 입력: puzzle = [list(map(int, input().spilt()))) for _ in range(N)] 리스트안에 있는 각 요소들의 합을 구하고 싶을 때 : sum(리스트 이름)
- Total
- Today
- Yesterday
- 트리
- 알고리즘
- SQL
- DOM
- Python
- 배포
- 자바
- Java
- javascript
- N과M
- vue
- 비동기패턴
- SWEA
- django
- AWS
- 싸피
- vue.js
- 세션 스토리지
- 백준
- splide
- SSAFY
- 안드로이드스튜디오
- 파이썬
- commit되돌리기
- SSAFY퇴소
- Pyhton
- 위클리챌린지2주차
- 독학
- 프로그래머스
- git
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |