일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- DART
- cos pro 1급
- 코드품앗이
- cos
- Algorithm
- Flutter
- 코테
- Python
- 동적계획법
- BAEKJOON
- 개발
- Vue
- 분할정복
- 파이썬
- DFS
- 안드로이드
- django
- codingtest
- 알고리즘
- android
- 백준
- 코딩테스트
- C++
- 안드로이드스튜디오
- AndroidStudio
- vuejs
- cos pro
- issue
- DFS와BFS
- 동적계획법과최단거리역추적
- Today
- Total
목록Algorithm (123)
Development Artist
문제 유형 한줄 수정(디버깅) 난이도 easy Note 1. 문제 자체는 쉬웠다. 2. 하지만, 함수 구현 문제로 나올 수 있으니, 로직을 알 필요가 있다. 3. 일정 구간까지 오르고, 그 이후부터 내려오는. 4. sort()로 오름차순 정렬. 하면 오르는 구간은 끝. 5. 내려가는 구간은, mid 를 구한다. 6. mid 시작을 left, 전체 수열의 끝을 right으로 두고 바꿔주기. (while문) Code # -*- coding: utf-8 -*- # UTF-8 encoding when using korean def solution(numbers): answer = [] numbers.sort() mid = (len(numbers) - 1) // 2 numbers[mid], numbers[len(..
문제 유형 한줄 수정(디버깅) 난이도 easy Note 1. 문제 자체는 쉬웠다. 2. 하지만, 함수 구현 문제로 나올 수 있으니, 해당 for문은 알 필요가 있다. 3. area : 넓이. 가로 x 세로. 가로 = walls[j][0] - walls[i][0] , 세로 = walls[j][1] Code # -*- coding: utf-8 -*- # UTF-8 encoding when using korean def solution(walls): answer = 0 for i in range(len(walls)): for j in range(i+1, len(walls)): area = 0 if walls[i][1] > walls[j][1]: area = walls[j][1] * (walls[j][0] - ..
문제 유형 빈칸 난이도 easy Note 1. 수열 문제. 1 2 4 7 13 24 . . . Code # -*- coding: utf-8 -*- # UTF-8 encoding when using korean def solution(n): answer = 0 steps = [0 for _ in range(n+1)] steps[1] = 1 steps[2] = 2 steps[3] = 4 for i in range(4, n+1): steps[i] = steps[i-1] + steps[i-2] + steps[i-3] print(steps) answer = steps[n] return answer n1 = 3 ret1 = solution(n1) print("solution 함수의 반환 값은", ret1, "입니다..
문제 유형 코딩 난이도 normal Note 1. 3차 6번의 소수 리스트를 뽑는 함수를 사용. (그래서 중요하다고...하였다.) 2. 제곱도는 for문과 세제곱도는 for문. Code # -*- coding: utf-8 -*- # UTF-8 encoding when using korean def get_prime(n): # very very special 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) return primes def solution(a, b): answer = 0..
문제 유형 코딩 난이도 easy Note 1. 공식 : 분침과 시침 사이각 = 30*(시침) - 5.5*(분침) Code # -*- coding: utf-8 -*- # UTF-8 encoding when using korean def solution(hour, minute): answer = 30*hour-5.5*minute # 공식: 30*(시침)-5.5*(분침) return "{:.1f}".format(answer) hour = 3 minute = 0 ret = solution(hour, minute) print("solution 함수의 반환 값은", ret, "입니다.") ※ 가끔 코드 중 print(~)가 있습니다. 정리 못한 점 죄송합니다.
문제 유형 코딩 난이도 hard Note 1. set 알기 : 배열 원소의 중복 제거 2. itertools의 permutations : 순열을 만들어 주는 라이브러리 함수 3. 1번과 2번을 알면 쉬움. Code # -*- coding: utf-8 -*- # UTF-8 encoding when using korean import itertools def solution(card, n): answer = -1 card = list(map(str, card)) nums = list(map(''.join, itertools.permutations(card))) nums = list(set(map(int, nums))) nums.sort() for i in range(len(nums)): if n == num..
문제 유형 빈칸 난이도 easy Note 1. 파이썬의 Class&def&self Code # -*- coding: utf-8 -*- # UTF-8 encoding when using korean class Unit: def __init__(self): self.HP = 1000 def under_attack(self, damage): pass class Monster(Unit): def __init__(self, attack_point): super().__init__() self.attack_point = attack_point def under_attack(self, damage): self.HP -= damage def attack(self): return self.attack_point clas..
문제 유형 빈칸 난이도 hard Note 1. 자아도취 수 : 어떤 자리수 K가 주어졌을 때, 각 자리수의 K제곱합이 자기 자신이 되는 수. 2. K의 의미. k = 3면 100~999까지 숫자 범위. k = 4면 1000~9999. 즉, 범위를 나타냄. 따라서, for문의 범위를 정할 수 있음. (코드 11, 12줄) 3. calculated += power(current%10, k) : k 제곱수 더하고, current //= 10 : 다음 자리수로 이동 -> 반복 Code # -*- coding: utf-8 -*- # UTF-8 encoding when using korean def power(base, exponent): val = 1 for i in range(exponent): val *= b..
문제 유형 빈칸 난이도 easy Note 1. 배열 [::-1]의 의미 : 뒤집기 abcde -> edcba (wow!) Code # -*- coding: utf-8 -*- # UTF-8 encoding when using korean def solution(n): answer = '' for i in range(n): answer += str(i+1) answer = answer[::-1] return answer n = 5 ret = solution(n) print("solution 함수의 반환 값은", ret, "입니다.") ※ 가끔 코드 중 print(~)가 있습니다. 정리 못한 점 죄송합니다.
문제 유형 빈칸 난이도 easy Note 1. 빠진 숫자 찾는 함수(a), 빠진 좌표 찾는 함수(b), 합을 계산하는 함수(c) Code # -*- coding: utf-8 -*- # UTF-8 encoding when using korean # 4차 4번 def func_a(matrix): n = 4 ret = [] exist = [False for _ in range(n*n + 1)] for i in range(0, n): for j in range(0, n): exist[matrix[i][j]] = True for i in range(1, n*n+1): if exist[i] == False: ret.append(i) return ret def func_b(matrix): n = 4 ret = [] ..