일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 코테
- cos pro 1급
- 코딩테스트
- Python
- vuejs
- android
- cos pro
- 동적계획법과최단거리역추적
- Vue
- BAEKJOON
- issue
- 백준
- cos
- C++
- Flutter
- 동적계획법
- Algorithm
- DFS와BFS
- 파이썬
- 개발
- DART
- DFS
- AndroidStudio
- codingtest
- 분할정복
- 안드로이드스튜디오
- django
- 안드로이드
- 알고리즘
- 코드품앗이
- Today
- Total
목록Algorithm/COS (59)
Development Artist
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/duWDxa/btruh7DGWxN/UzTC90mYlforxiBq8VKFnK/img.png)
문제 유형 한줄 수정 난이도 easy Note Nothing Code # -*- coding: utf-8 -*- # UTF-8 encoding when using korean def solution(revenue, k) : answer = 0 rsum = sum(revenue[0:k]) answer = rsum for i in range(len(revenue)) : rsum = sum(revenue[i:k+i]) if answer < rsum : answer = rsum return answer revenue1 = [1, 1, 9, 3, 7, 6, 5, 10] k1 = 4 ret1 = solution(revenue1, k1) print("solution 함수의 반환 값은", ret1, "입니다.") re..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cdUADK/btruk5d0n3n/492nI6vk3FVqcUT3JVqlOK/img.png)
문제 유형 한줄 수정 난이도 easy Note Nothing Code # -*- coding: utf-8 -*- # UTF-8 encoding when using korean def solution(k, student): answer = 0 for s in student: s -= 4*k if s
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/czn3Fp/btrufDJOcPe/kUl6giwp2Ve9AKkSxCB2QK/img.png)
문제 유형 한줄 수정 난이도 easy Note 1. 카프리카 수 : 자신의 제곱수를 둘로 나눠 더한 값이 자기 자신 ( 단, 둘로 나뉜 수는 양수 ) ex ) 55 -> 55^2 = 3025 -> 30+25 = 55 2. 코딩 유형으로 나온다면, divisor를 사용한다는 것만 떠올리면 될 듯. Code # -*- coding: utf-8 -*- # UTF-8 encoding when using korean def solution(k): answer = [] for i in range(1, k + 1): square_num = i * i divisor = 1 while square_num // divisor != 0: front = square_num // divisor back = square_num ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cWI7qV/btruh6LzPL9/Y7RxfRnQNjHjYif5qU6NCk/img.png)
문제 유형 빈칸 난이도 normal Note 1. 빈칸 유형이라서 난이도는 쉬움. 2. 하지만, 첫번째 for문에서 소수 리스트를 만드는 부분의 로직은 암기 필요! 절대절대절대 중요. '에라토스테네스의 체' 라는 유명한 개념이 사용됨. Code # -*- coding: utf-8 -*- # UTF-8 encoding when using korean # 3차 6번 def solution(n): answer = 0 primes = [2] for i in range (3, n + 1, 2) : is_prime = True for j in range(2, i) : if i % j == 0 : is_prime = False break if is_prime : primes.append(i) prime_len = l..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/MmrJQ/btrukgTP1qC/POvLI7MkyJp2kQMoO46F91/img.png)
문제 유형 코딩 난이도 normal Note 1. 나타날때, 사라질때를 구별해서 구현. second: dist = plen-second front = '' for _ in range(dist): front += '_' return front+phrases[0:second] else: dis = second - plen back = '' for _ in range(dist): back += '_' return phrases[dis:]+back ※ 가끔 코드 중 print(~)가 있습니다. 정리 못한 점 죄송합니다.
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/kBrtC/btruey8Nzt0/NBo60RoDDH4HUsgQtcQUdK/img.png)
문제 유형 코딩 난이도 easy Note 1. for문 2개로 나눈 이유. 2. 배열 s1[-i:] 의 의미. Code # -*- coding: utf-8 -*- # UTF-8 encoding when using korean # 3차 4번 def solution(s1, s2): answer = 0 for i in range(len(s1)): if s1[0:i] == s2[-i:]: print(s1[0:i]) answer = i break for i in range(len(s2)): if s2[0:i] == s1[-i:]: print(s2[0:i]) if answer < i: answer = i break return len(s1)+len(s2)-answer s1 = "ababc" s2 = "abcdab"..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/b5G7V6/btruhvRuDzG/hFdiFJOlZbGDWIsqCDRQc1/img.png)
문제 유형 코딩 난이도 hard Note 1. bfs문제 유형. '순회'라는 개념. dxy : 비숍이 갈 수 있는 좌표를 설정. Code # -*- coding: utf-8 -*- # UTF-8 encoding when using korean # 3차 3번 def solution(bishops): answer = 0 dxy = [[1,1],[1,-1],[-1,1],[-1,-1]] field = [[0] * 8 for i in range(8)] for bis in bishops: x = ord(bis[0])-65 y = int(bis[1])-1 field[x][y] = 1 for dx, dy in dxy: nx , ny = x, y while True: nx += dx ny += dy if nx >=8 o..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/EY7f3/btrul22nqlF/LVvph5jcvZvGgfAfK8e120/img.png)
문제 유형 빈칸 난이도 easy Note 1. 팰린드롬 수 : 앞뒤를 뒤집어도 똑같은 문자열 2. start_idx를 정하는 2중 for문 로직 기억. Code # -*- coding: utf-8 -*- # UTF-8 encoding when using korean # 3차 2번 def func_a(arr, s): return s in arr def func_b(s): length = len(s) for i in range(length // 2): if s[i] != s[length - i - 1]: return False return True def func_c(palindromes, k): palindromes = sorted(palindromes) if len(palindromes) < k: ret..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/biNR08/btruefCiqXY/JAkl2Ezij38BjmmUmVj2H1/img.png)
문제 유형 빈칸 난이도 easy Note 1. func_b 체크. 2개의 배열이 rotate하는지 안하는지 확인하는 함수. first 배열의 요소들은 더하고 second 요소들은 빼줘서 각 인덱스 값이 0이면 rotate 한다. Code # -*- coding: utf-8 -*- # UTF-8 encoding when using korean # 3차 1번 def func_a(arr): ret = arr + arr return ret def func_b(first, second): MAX_NUMBER = 1001 counter = [0 for _ in range(MAX_NUMBER)] for f, s in zip(first, second): counter[f] += 1 counter[s] -= 1 for ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cgqCQi/btruokBqqVA/rBml5G1mYtJIxlwyLJWa5k/img.png)
문제 유형 한줄 수정 난이도 easy Note 1. 연속된 0들을 0으로 만드는 알고리즘 : 지금 0이고 다음문자가 0이 아니면 0을 붙인다. Code # -*- coding: utf-8 -*- # UTF-8 encoding when using korean # 2차 10번 function def solution(s): s += '#' answer = "" for i in range(len(s)): if s[i] == '0' and s[i + 1] != '0': answer += '0' elif s[i] == '1': answer += '1' return answer s = "101100011100" ret = solution(s) print("solution 함수의 반환 값은", ret, "입니다.") ..