풀이 1. 무한루프 안에서 B가 짝수이면 B를 2로 나눈다. 동시에 cnt++ 2. B를 10으로 나눴을 때 나머지가 1이라면 10으로 나눠준다. 동시에 cnt++ 3. 만약 A == B이라면 cnt+1해주고 break걸어 cnt 출력 4. A > B라면 B는 연산을 통해 A가 될 수 없으므로 cnt = -1 후 break, cnt 출력 5. 위의 조건문이 충족하지 않으면 else를 줘서 cnt = -1값으로주고 break하게 했다. 이 문제는 처음에 보고 쉽다고 풀었는데 계속 틀렸다고 떠서 너무 짜증이 났다. 맞는데 계속 안돼서 알아낸 것이 else문을 줘야한다는 점이다! A, B = map(int, input().split()) cnt = 0 while True: if A == B: cnt += 1 ..
풀이: 인덱스 만큼의 누적합을 구하는 문제이고 그것들의 합이 최소가 되어야하는 문제이기 때문에 1. 들어온 리스트를 작은순서대로 정렬해준다. 2. 앞에꺼부터 인덱스까지만큼 더해서 새로운 리스트에 넣어준다. 3. 새로운 리스트의 원소의 합을 구하면 끝 N = int(input()) P = list(map(int, input().split())) NP = sorted(P) sum_NP = [] tmp = 0 for i in range(len(NP)): tmp += NP[i] sum_NP.append(tmp) print(sum(sum_NP))
import sys sys.stdin = open('input.txt') T = int(input()) for tc in range(1, T+1): N = int(input()) cnt = 0 lst = [list(map(int, input().split())) for i in range(N)] #교차하는 케이스는 2개 #A1Y2일 때 교차 #A1>A2 이고 Y1 lst[j][1]: cnt += 1 elif lst[i][0] > lst[j][0]: if lst[i][1] < lst[j][1]: cnt += 1 ##########행렬로 했더니 런타임에러########### # N = int(input()) # cnt = 0 # arr = [[0] * 10000 for _ in range(10001)] # ..
코드 알고리즘 1.계속해서 4분할을 한다 2.길이가 2가 되면 더이상 분할할 수 없기 때문에 여기서 작은 사각형에서 왼쪽위->오른쪽위->왼쪽아래->오른쪽아래 (Z모양 순서)순서로 cnt +=1 해주며 찾아준다. cnt = 0 def func(a,x,y): global cnt if a == 2: if x == r and y == c: #왼쪽 위 print(cnt) return cnt += 1 if x == r and y + 1 == c: #오른쪽 위 print(cnt) return cnt += 1 if x+1 == r and y == c: # 왼쪽아래 print(cnt) return cnt += 1 if x+1 == r and y+1 == c: #오른쪽 아래 print(cnt) return cnt += 1..
def func(i, j): global result visited[i][j] = 1 # print(i, j,nums[i][j]) if nums[i][j] == 3: #값이 안들어감 # print(i, j) result = 1 return if i-1 >= 0 and nums[i-1][j] != 1 and visited[i-1][j] == 0:# func(i-1, j) if result == 1: return if j-1 >= 0 and nums[i][j-1] != 1 and visited[i][j-1] == 0:# 좌 func(i, j - 1) if result == 1: return if j+1 < N and nums[i][j+1] != 1 and visited[i][j+1] == 0: #우 func..
def func(N): if N > n: print("_" * 4 * (N - 1) + '"재귀함수가 뭔가요?"') print("_" * 4 * (N - 1) + '"재귀함수는 자기 자신을 호출하는 함수라네"') print("_" * 4 * (N - 1) + '라고 답변하였지.') return print("_"*4*(N-1) + '"재귀함수가 뭔가요?"') print("_" * 4 * (N - 1) + '"잘 들어보게. 옛날옛날 한 산 꼭대기에 이세상 모든 지식을 통달한 선인이 있었어.') print("_" * 4 * (N - 1) + '마을 사람들은 모두 그 선인에게 수많은 질문을 했고, 모두 지혜롭게 대답해 주었지.') print("_" * 4 * (N - 1) + '그의 답은 대부분 옳았다고 하네...
T = int(input()) for tc in range(1, T+1): N,M = list(map(int,input().split())) pizza = list(map(int,input().split())) cheese = [] for i in range(M): cheese.append([i+1,pizza[i]]) #리스트에 인덱스와 함께 치즈 값 넣어주기 # print(cheese) in_pizza = cheese[:N] #화덕에 N개만 넣을 수 있음 remain_pizza = cheese[N:] while len(in_pizza) > 1: #하나만 남으면 중단 check = in_pizza.pop(0) #일단 맨앞 피자 꺼냄 check[1] //= 2 #check[1]인 이유는 [0]이면 인덱스 ..
이 문제는 저번에 풀었던 암호문제랑 거의 같다. 맨 앞에꺼를 빼서 뒤에 붙이는 과정을 M번 반복하면 된다. T = int(input()) for tc in range(1, T+1): N,M = list(map(int,input().split())) nums = list(map(int,input().split())) #N개 숫자 for i in range(M): #M번 이동 temp = nums.pop(0) #맨 앞 빼서 맨뒤로보낸다 nums.append(temp) print('#{} {}'.format(tc,nums.pop(0)))
- Total
- Today
- Yesterday
- git
- 배포
- 알고리즘
- 백준
- 자바
- DOM
- 트리
- 비동기패턴
- splide
- 파이썬
- django
- 위클리챌린지2주차
- AWS
- Java
- Python
- 프로그래머스
- vue.js
- 세션 스토리지
- Pyhton
- SSAFY
- 독학
- 안드로이드스튜디오
- vue
- 싸피
- SWEA
- commit되돌리기
- SSAFY퇴소
- SQL
- N과M
- javascript
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |