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])
T = int(input()) for tc in range(1, T+1): str1 = list(map(int,input())) N = len(str1) str2 = [0]*N #0으로 채워진 리스트를 한개 만들어줌 # print(str1) # print(str2) cnt = 0 for i in range(N): if str2[i] == str1[i]: continue elif str2[i] != str1[i]: #같지 않다면 str1의 인덱스 i번째 값으로 끝까지 채운다 cnt += 1 j = i for j in range(N): str2[j] = str1[i] #print(str2) print("#{} {}".format(tc,cnt))
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(..
이 문제는 쉬운듯했는데 내가 못풀어서그런지 엄청 오래걸렸다. 스도쿠를 잘못 이해해서 힘들었다..ㅠㅠ 가로 세로 모두 다 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.좌.우를 만난다면 ..
처음에 어렵게 코드를 짜다가 결과값이 제대로 나오지 않아서 수업을 듣고 고쳤다. 이렇게 쉽게 풀 수 있다니 내가 너무 어렵게 생각했나 싶었다. 열심히 해야지! 처음에 생각한 로직 #가로를 계산하는 경우: 시작하는곳 왼쪽에는 0이거나 퍼즐의 첫 부분이어야한다. #즉, 왼쪽은 1이 아님 #세로로 계산하는 경우: 위가 0이거나 퍼즐의 끝부분 이어야한다 #즉, 위쪽은 1이 아님 #가로는 오른쪽으로 갔을 때 K칸만큼 1이 갔으면 K+1칸은 1이면 안됨 #세로는 아래로 갔을 때 K칸만큼 1이 갔으면 K+1칸은 1이면 안됨 이렇게 코드를 구현했는데 원하는 값이 안나왔다. 잘못된코드 T = int(input()) for tc in range(1,T+1): N,K = map(int,input().split()) arr ..
- Total
- Today
- Yesterday
- 세션 스토리지
- AWS
- 자바
- SSAFY
- SSAFY퇴소
- Python
- 독학
- 파이썬
- git
- django
- 배포
- commit되돌리기
- javascript
- vue
- N과M
- DOM
- SQL
- SWEA
- 트리
- vue.js
- 안드로이드스튜디오
- 프로그래머스
- splide
- 싸피
- 백준
- 알고리즘
- Pyhton
- 비동기패턴
- 위클리챌린지2주차
- Java
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |