[DAY 1] 프로그래머스 LV1. 핸드폰 번호 가리기
·
Algorithm/항해일지 TIL
1. 문제 https://school.programmers.co.kr/learn/courses/30/lessons/12948 2. 코드 풀이 마지막 숫자 4개를 제외한 앞의 숫자들이 다 * 로 치환되어야 함 => 얘를 숨겨지는 hidden_part로 적용을 하고 가려지지 않아도 되는 문자들을 또 last_part로 적용을 해서 둘을 더해주면 될듯!!! 3. 코드 실행 def solution(phone_number): number = int(phone_number) hidden_part = '*' * (len(phone_number) - 4) last_part = phone_number[-4:] answer = hidden_part + last_part return answer 4. 결과
[DAY 2] 프로그래머스 LV1. 부족한 금액 계산하기
·
Algorithm/항해일지 TIL
문제 https://school.programmers.co.kr/learn/courses/30/lessons/82612 1. 코드 풀이 탈 때마다 횟수가 초기의 가격에 계속 더해짐 돈이 부족하지 않다면 ! 0을 반환 => 이걸 (내가 지금 가지고 있는 돈)- (초기의 가격에 계속 더하여 쌓인 돈) 이렇게 생각했다. 돈이 부족하면 그 값을 반환 => 근데 여기서 돈이 부족할 수 있다는 것은 두개의 차이가 마이너스 값일 수 있다는 얘기이므로 절댓값을 씌워서 반환해준다. 2. 코드 실행 def solution(price, money, count): cost=0 for i in range(1,count+1): cost+= price * i total_price= money-cost if total_price >..
[JS] 메모이제이션(Memoization)과 캐시 (Cache) / 리트코드 2623 풀이
·
Algorithm/LeetCode
1. 캐시(Cache) 이전에 계산한 값을 임시로 저장하는 메모리 영역 메모리 사용량을 줄일 수 있고 성능을 높일 수 있다. 2. 메모이제이션(Memoization) 프로그래밍을 할 때 반복되는 결과를 메모리에 저장해서 다음 호출에도 같은 결과가 나올 때 캐시된 값을 가져오는 기법 즉 한 번 계산한 값을 기억하고 동일한 입력이 나오면 미리 계산된 값을 반환하여 함수의 실행 속도를 높여줄 수 있다. 메모이제이션 기법을 활용하면 중복을 피하기 때문에 반복되는 결과에서 성능을 최적화 할 수 있다. 3. 코드 예시 function add(n) { if (n === 0) { return 0; } else { return n + add(n - 1); } } 이러한 코드가 있다고 예시를 들어보자 여러번 호출하면 계산..
[JS] 리트코드 2665 JS 문제풀이
·
Algorithm/LeetCode
var createCounter = function(init) { var value = init; var counter = { increment: function() { value++; return value; }, decrement: function() { value--; return value; }, reset: function() { value = init; return value; } }; return counter; }; 코드 한줄씩 설명 var createCounter = function(init) { var value = init; 주의사항: 클로저 함수 정의해주기! 여기서는 init이라는 초기값 하나로 함수를 세개나 정의해주어야 하기 때문에 초기 매개변수를 설정을 잘 받는 것이 중요하다. ..
백준 문제풀이- 1157 단어공부
·
Algorithm
문제 설명 알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다. 입력 첫째 줄에 알파벳 대소문자로 이루어진 단어가 주어진다. 주어지는 단어의 길이는 1,000,000을 넘지 않는다. 출력 첫째 줄에 이 단어에서 가장 많이 사용된 알파벳을 대문자로 출력한다. 단, 가장 많이 사용된 알파벳이 여러 개 존재하는 경우에는 ?를 출력한다. 문제 핵심 1. 대소문자 구별하지 않음>> 지금 대소문자가 섞여있으니까 하나로 통일시 해줘야 함 >> 대문자로 치환 2. 가장 많이 사용된 알파벳 알아보기 3. 가장 많이 사용된 알파벳이 여러개인 경우 "?" 출력하기 alphabet= input().upper() alph..
하이롱하이롱
'Algorithm' 카테고리의 글 목록 (4 Page)