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(리스트 이름)
이 문제는 쉬운듯했는데 내가 못풀어서그런지 엄청 오래걸렸다. 스도쿠를 잘못 이해해서 힘들었다..ㅠㅠ 가로 세로 모두 다 1부터 9까지 있는지 확인한다. 만약 한 열이나 행이라도 1부터 9까지 존재하지 않는다면 스도쿠가 아니다. 그리고 3x3의 사각형에 1부터 9까지 존재하는지 확인하고 존재한다면 1로 출력하는 문제이다. T = int(input()) check = [1,2,3,4,5,6,7,8,9] #스도쿠 검증 리스트 for tc in range(1,T+1): arr = [] row_cnt = [0] * 9 for i in range(9): temp = [] temp = list(map(int,input().split())) if sorted(temp) == check: row_cnt[i] = 1 #행..
T = int(input()) for tc in range(1, T+1): N,M = map(int, input().split()) arr = [] for i in range(N): arr.append(list(map(int,input().split()))) arr_sum = [] #각 네칸의 합을 저장할 리스트 for i in range(N-M+1): #한칸전까지 범위로 설정 for j in range(N-M+1): sum_result = 0 for a in range(0,M): #0부터 M-1까지 더해주기 for b in range(0,M): sum_result += arr[i+a][j+b] arr_sum.append(sum_result) print("#{} {}".format(tc, max(arr_..
이 문제는 날 너무 힘들게 한 문제다. 몇번이나 고치고 고친지 모르겠다. 끝에가 2이므로 그 끝점을 찾아서 올라가는 방식이다. 오른쪽/왼쪽으로 갈 수 있는 곳까지 계속가고 위로올라가면서 제일 위에있는 즉 0행에 있는 열의 값을 구하면 되는 문제이다. T = 10 for tc in range(1,T+1): N = int(input()) arr = [] for i in range(100): arr.append(list(map(int, input().split()))) #배열 값 받음 #끝에 2가 있는 점 찾아줌 end = 0 for i in range(100): if arr[99][i] == 2: end = i break x = 99 y = end #1.기본은 위로 직진 x -= 1 #2.좌.우를 만난다면 ..
- Total
- Today
- Yesterday
- 파이썬
- 세션 스토리지
- Python
- SQL
- 독학
- Pyhton
- 프로그래머스
- 트리
- 알고리즘
- SSAFY
- SSAFY퇴소
- N과M
- javascript
- 안드로이드스튜디오
- 비동기패턴
- vue.js
- vue
- commit되돌리기
- 자바
- splide
- git
- SWEA
- Java
- 싸피
- 위클리챌린지2주차
- 백준
- django
- 배포
- AWS
- DOM
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |