Programming
-
https://youtu.be/2zjoKjt97vQ?si=fGChNeo644FV1sFd 곱하기 또는 더하기 문제 설명 n = input() list = [int(char) for char in n] number = 1 cnt = 0 # 1. 0이 없을 때 # 2. 처음에 0이 있을 때 # 3. 중간에 0이 있을 때 # 4. 마지막에 0이 있을 때 for num in list: # print(num) cnt += 1 if num == 0: pass elif num == 1: number += num else: number *= num print(number) 해결 아이디어 대부분의 경우 +보다는 *가 더 값을 크게 만듦 다만 두 수 중에서 하나라고 0이거나 1인 경우, 곱하기 보다는 더하기를 수행하는 것이..
[그리디 알고리즘] 문제 - 곱하기 또는 더하기https://youtu.be/2zjoKjt97vQ?si=fGChNeo644FV1sFd 곱하기 또는 더하기 문제 설명 n = input() list = [int(char) for char in n] number = 1 cnt = 0 # 1. 0이 없을 때 # 2. 처음에 0이 있을 때 # 3. 중간에 0이 있을 때 # 4. 마지막에 0이 있을 때 for num in list: # print(num) cnt += 1 if num == 0: pass elif num == 1: number += num else: number *= num print(number) 해결 아이디어 대부분의 경우 +보다는 *가 더 값을 크게 만듦 다만 두 수 중에서 하나라고 0이거나 1인 경우, 곱하기 보다는 더하기를 수행하는 것이..
2024.01.30 -
해당 내용은 아래의 유투브를 보고 참고했음을 밝힙니다~ https://youtu.be/2zjoKjt97vQ?si=fGChNeo644FV1sFd 그리디 알고리즘 그리디 알고리즘(탐욕법)은 현재 상황에서 지금 당장 좋은 것만 고르는 방법 일반적인 그리디 알고리즘은 문제를 풀기 위한 최소한의 아이디어를 떠올릴 수 있는 능력을 요구 그리디 해법은 그 정당성 분석이 중요 단순히 가장 좋아보이는 것을 반복적으로 선택해도 최적의 해를 구할 수 있는지 검토 합이 가장 큰 경우: 5 -> 7 -> 9 (21) 매 상황에서 가장 큰 값: 5 -> 10 -> 4 (19) => 그리디는 단순히 매 상황에서 가장 큰 값만 구하는 것이기 때문에 19가 답이 됨. 일반적인 상황에서 최적의 해를 보장할 수 없을 때가 많음 코딩 테스..
그리디 알고리즘 개요해당 내용은 아래의 유투브를 보고 참고했음을 밝힙니다~ https://youtu.be/2zjoKjt97vQ?si=fGChNeo644FV1sFd 그리디 알고리즘 그리디 알고리즘(탐욕법)은 현재 상황에서 지금 당장 좋은 것만 고르는 방법 일반적인 그리디 알고리즘은 문제를 풀기 위한 최소한의 아이디어를 떠올릴 수 있는 능력을 요구 그리디 해법은 그 정당성 분석이 중요 단순히 가장 좋아보이는 것을 반복적으로 선택해도 최적의 해를 구할 수 있는지 검토 합이 가장 큰 경우: 5 -> 7 -> 9 (21) 매 상황에서 가장 큰 값: 5 -> 10 -> 4 (19) => 그리디는 단순히 매 상황에서 가장 큰 값만 구하는 것이기 때문에 19가 답이 됨. 일반적인 상황에서 최적의 해를 보장할 수 없을 때가 많음 코딩 테스..
2024.01.30 -
https://youtu.be/2zjoKjt97vQ?si=fGChNeo644FV1sFd 1이 될 때까지 문제 해결 아이디어 주어진 N에 대하여 최대한 많이 나누기를 수행 N의 값을 줄일 때 2이상의 수로 나누는 작업이 1을 빼는 작업보다 수를 훨씬 많이 줄일 수 있음 1이 될 때까지: 정당성 분석 가능하면 최대한 많이 나누는 작업이 최적의 해를 항상 보장하는가? N이 아무리 큰 수여도, K로 계속 나눈다면 기하 급수적으로 빠르게 줄임 다시 말해 K가 2 이상이기만 하면, K로 나누는 것이 1을 빼는 것보다 항상 빠르게 N을 줄일 수 있음. 또한 N은 항상 1에 도달하게 됨 (최적의 해 성립) # 1이 될 때까지 #%% n = 17 k = 4 while n != 1: if n % k != 0: n -= 1..
[그리디알고리즘] 문제 - 1이 될 때까지https://youtu.be/2zjoKjt97vQ?si=fGChNeo644FV1sFd 1이 될 때까지 문제 해결 아이디어 주어진 N에 대하여 최대한 많이 나누기를 수행 N의 값을 줄일 때 2이상의 수로 나누는 작업이 1을 빼는 작업보다 수를 훨씬 많이 줄일 수 있음 1이 될 때까지: 정당성 분석 가능하면 최대한 많이 나누는 작업이 최적의 해를 항상 보장하는가? N이 아무리 큰 수여도, K로 계속 나눈다면 기하 급수적으로 빠르게 줄임 다시 말해 K가 2 이상이기만 하면, K로 나누는 것이 1을 빼는 것보다 항상 빠르게 N을 줄일 수 있음. 또한 N은 항상 1에 도달하게 됨 (최적의 해 성립) # 1이 될 때까지 #%% n = 17 k = 4 while n != 1: if n % k != 0: n -= 1..
2024.01.30 -
해당 내용은 아래의 유투브를 보고 참고했음을 밝힙니다~ https://youtu.be/2zjoKjt97vQ?si=fGChNeo644FV1sFd 거스름돈 가장 큰 화폐 단위부터 돈을 거슬러 주는 것이 최적의 해를 보장하는 이유? 가지고 있는 동전 중에서 큰 단위가 항상 작은 단위의 배수이므로 작은 단위의 동전들을 종합해 다른 해가 나올 수 없기 때문 만약 800원을 거슬러줘야 하는데 화폐 단위가 500, 400, 100원이라면? 문제 풀이를 위한 최소한의 아이디어를 떠올리고 정당한지 검토해야 함. # 거스름돈 #%% n = 1260 count = 0 # 큰 단위부터 차례로 array = [500, 100, 50, 10] for coin in array: count += n // coin # 해당 화폐로 거..
[그리디 알고리즘] 문제 - 거스름돈해당 내용은 아래의 유투브를 보고 참고했음을 밝힙니다~ https://youtu.be/2zjoKjt97vQ?si=fGChNeo644FV1sFd 거스름돈 가장 큰 화폐 단위부터 돈을 거슬러 주는 것이 최적의 해를 보장하는 이유? 가지고 있는 동전 중에서 큰 단위가 항상 작은 단위의 배수이므로 작은 단위의 동전들을 종합해 다른 해가 나올 수 없기 때문 만약 800원을 거슬러줘야 하는데 화폐 단위가 500, 400, 100원이라면? 문제 풀이를 위한 최소한의 아이디어를 떠올리고 정당한지 검토해야 함. # 거스름돈 #%% n = 1260 count = 0 # 큰 단위부터 차례로 array = [500, 100, 50, 10] for coin in array: count += n // coin # 해당 화폐로 거..
2024.01.30 -
다시 알고리즘을 공부하고 취업을 하기 위해 코딩테스트 공부를 시작했다 ㅎㅎ 동빈나님 유투브를 보고 정리한 것이니 이 글을 보게 되는 분들이라면 아래의 유투브를 먼저 보시길 추천한다~! https://youtube.com/playlist?list=PLRx0vPvlEmdAghTr5mXQxGpHjWqSz0dgC&si=UzK5AE6cwo67Lk16 (이코테 2021) 이것이 취업을 위한 코딩 테스트다 with 파이썬 www.youtube.com
이것이 취업을 위한 코딩 테스트다 with 파이썬다시 알고리즘을 공부하고 취업을 하기 위해 코딩테스트 공부를 시작했다 ㅎㅎ 동빈나님 유투브를 보고 정리한 것이니 이 글을 보게 되는 분들이라면 아래의 유투브를 먼저 보시길 추천한다~! https://youtube.com/playlist?list=PLRx0vPvlEmdAghTr5mXQxGpHjWqSz0dgC&si=UzK5AE6cwo67Lk16 (이코테 2021) 이것이 취업을 위한 코딩 테스트다 with 파이썬 www.youtube.com
2024.01.30 -
Problem: https://www.hackerrank.com/challenges/find-second-maximum-number-in-a-list/problem?isFullScreen=true Find the Runner-Up Score! | HackerRank For a given list of numbers, find the second largest number. www.hackerrank.com 안녕하세요. 오랜만입니다. 오랜만이라는 얘기를 몇 번째 하는 건지.. 방학 때라도 코딩 공부를 열심히 했었어야 하는데 ㅠ 토플이니, 수업 준비니, 대학 행정 잡무 등등.. 많이 바쁘긴했습니다 (변명 아닌 변명.. 꾸벅) 사실 오늘도 이걸 하려고 들어온 건 아니긴 한데, 학생들 코딩 문제 좀 내볼까~? ..
[HackerRank] Find the Runner-Up Score! (Python3)Problem: https://www.hackerrank.com/challenges/find-second-maximum-number-in-a-list/problem?isFullScreen=true Find the Runner-Up Score! | HackerRank For a given list of numbers, find the second largest number. www.hackerrank.com 안녕하세요. 오랜만입니다. 오랜만이라는 얘기를 몇 번째 하는 건지.. 방학 때라도 코딩 공부를 열심히 했었어야 하는데 ㅠ 토플이니, 수업 준비니, 대학 행정 잡무 등등.. 많이 바쁘긴했습니다 (변명 아닌 변명.. 꾸벅) 사실 오늘도 이걸 하려고 들어온 건 아니긴 한데, 학생들 코딩 문제 좀 내볼까~? ..
2023.09.05