#6 9 N = list(map(int, input())) cnt_list = [0] * 10 #배열의 인덱스와 같은 곳에 카운트 해주기 for i in range(len(N)): check = N.pop(0) cnt_list[check] += 1 # (6횟수 + 9횟수 + 1 )//2해서 6번에 넣어준다 # 9번은 0으로 바꿔줌 cnt_list[6] = (cnt_list[6]+cnt_list[9]+1)//2 cnt_list[9] = 0 #최대값 출력 print(max(cnt_list))
풀이 1. 딕셔너리로 옷의 종류를 key로 두고 같은 종류의 옷이 존재한다면 value에 +=1 해주고 같은 종류의 옷이 없다면 value = 1로 해준다. 2. value+1 을 해준 값들을 모두 곱한다. 3. 곱한 값에서 아무것도 안 입은 경우 한 가지를 빼준다. tc = int(input()) #테케 for t in range(tc): n = int(input()) #의상 수 clothes = {} # 옷의 종류를 key값으로 받고 딕셔너리에 key값이 없으면 value를 1로 준다. 존재하면 +1 for i in range(n): value, kind = input().split() if kind not in clothes: clothes[kind] = 1 else: clothes[kind] +=..
풀이 1. 각 DNA의 자리마다 어떤 알파벳이 많은지 세어 count해준다. 2. 최대 카운트를 새로운 리스트에 넣어준다. 여기서 최대값이 두개가 있다면 알파벳의 앞순서들이 우선 되어야 하므로 append가 수행되었으면 check에 1값을 넣어주어 중단하게 한다. 3. new_DNA와 원래 DNA들을 비교해서 다른 원소가 있으면 count해준다. N, M = map(int, input().split()) #N = DNA 갯수 M = DNA의 길이 DNA = [list(input())for _ in range(N)] apb = ['A','C','G','T'] #자리마다 뭐가 많은지 세어줌 max_apb = 0 new_DNA = [] for j in range(M): cnt_apb = [0, 0, 0, 0]..
이 문제는 백준 16053 A->B문제와 유사하다. 그 문제에서는 숫자로 되어있었고 이 문제는 문자열로 이루어져있다. 따라서 연산을 거꾸로 해서 풀어주면 된다. 풀이 1. 맨 끝이 A라면 pop해서 빼준다. 2. 맨 끝이 B라면 pop해서 빼주고 뒤집어준다. 3. 1,2번을 반복했을 때 S와 T가 같으면 ans=1로 해주고 while문에서 빠져나간다. S = list(input()) T = list(input()) ans = 0 while T: if S == T: ans = 1 break if T[-1] == 'A': T.pop() elif T[-1] == 'B': T.pop() T.reverse() print(ans)
풀이 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))
코드 알고리즘 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(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) + '그의 답은 대부분 옳았다고 하네...
- Total
- Today
- Yesterday
- 트리
- vue.js
- 알고리즘
- SSAFY퇴소
- SWEA
- 안드로이드스튜디오
- 프로그래머스
- git
- N과M
- Java
- 배포
- splide
- DOM
- AWS
- SQL
- 싸피
- 독학
- vue
- SSAFY
- commit되돌리기
- 백준
- Pyhton
- 비동기패턴
- 세션 스토리지
- 위클리챌린지2주차
- django
- 파이썬
- 자바
- Python
- 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 |