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.좌.우를 만난다면 ..
x, y = 10, 1 하면 x =10 y =1 x, y = 10 이면 오류 id()는 주소값 swap하고 싶으면 temp변수 만들어도 되지만 x = 10 y = 100 x, y = y, x로 할 수 있다. 엄청 큰 숫자도 int로 표현가능 long이 없어짐 type(변수) : 타입형을 보여줌 abs() 복소수도 가능 j를 이용하여 문자타입(String)'나 "을 사용할 수 있다. 'hi' +'yebeen' =hiyebeen 문자열안에 '3'을 찾을 때 in ['3']이런식으로 쓰면 된다 round( 뭐시기 ,2)하면 둘쨋자리까지만. round( , ) : 반올림 //원래 두 개의 인자를 받는데 두 번째 인자가 생략되면 소수 첫째 자리에서 반올림한다. print(i, end=' ') : 줄바꿈 없이 출력..
- Total
- Today
- Yesterday
- N과M
- 자바
- 위클리챌린지2주차
- 독학
- 알고리즘
- commit되돌리기
- vue
- AWS
- Python
- 배포
- 트리
- 파이썬
- 싸피
- 세션 스토리지
- DOM
- django
- Java
- vue.js
- 안드로이드스튜디오
- splide
- 프로그래머스
- 백준
- SQL
- 비동기패턴
- Pyhton
- git
- SSAFY퇴소
- javascript
- SWEA
- SSAFY
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |