[DAY 5] 프로그래머스 LV1. 자연수 뒤집어 배열로 만들기
·
Algorithm/항해일지 TIL
문제 https://school.programmers.co.kr/learn/courses/30/lessons/12932 1. 코드 풀이 자연수를 입력받으면 문자열로 면환해야 한다. (String으로 변환) 배열로 입력을 받으면 하나하나 거꾸로 리스트로 저장해야 한다. 문자열을 거꾸로 반복하여 각 자리의 숫자를 정수로 변환하여 리스트에 추가 2. 코드 실행 def solution(n): num=str(n) reversed_num=[] for number in reversed(num): reversed_num.append(int(number)) return reversed_num 3. 결과
[React] 원리 이해하기
·
React
1. React란? 쉽게 말하면 사용자 인터페이스를 받아 동적인 웹페이지를 쉽게 만들기 위해서이다. 사용자 인터페이스(UI) 를 구축하기 위한 선언적이고 효율적인 유연한 자바스크립트 라이브러리 SPA(Single Page Appplication)을 위한 사용자 인터페이스를 구축하는데 사용 웹, 모바일 앱 등의 레이어를 처리하는데 사용 더보기 1. 여기서 UI란? User Interface: 사람과 컴퓨터가 정보를 쉽게 주고받을 수 있도록 하는 수단으로 사용자와 컴퓨터 프로그램이 의하소통을 할 수 있도록 하는 매개체 더보기 2. 여기서 SPA 란? Sigle Page Application 의 약자로 단일 페이지로 구성된 웹페이지 즉 예전의 방식으로는 어떤 버튼을 클릭하면 페이지의 일부 영역이 조금만 변경되..
[DAY 4] 프로그래머스 LV1. 콜라츠 추측
·
Algorithm/항해일지 TIL
문제 https://school.programmers.co.kr/learn/courses/30/lessons/12943 1. 코드 풀이 입력된 수가 짝수라면 2로 나눈다. 입력된 수가 홀수라면 3을 곱하고 1을 더한다 결과로 나온 수에 같은 작업을 1이 될 때까지 반복한다 단 주어진 수가 1인 경우에는 0을, 작업을 500번 반복할 때까지 1이 되지 않으면 -1 반환 2. 코드 실행 # 처음 생각 if num % 2 == 0: num = num // 2 else: num = num * 3 + 1 홀수와 짝수 조건식 세우는건 거의 3초만에 했는데 나머지 제약을 어디에 넣어야할지 고민을 좀 했던 것 같다. (사실 엄청 간단한데도..ㅠ) ㅠㅠ 공부 열심히 해야겠다...ㅠ def solution(num): co..
[DAY 3] 프로그래머스 Lv1. 숫자 문자열과 영단어
·
Algorithm/항해일지 TIL
문제 https://school.programmers.co.kr/learn/courses/30/lessons/81301 1. 코드 풀이 일부 자릿수가 영단어=> 즉 영단어+ 숫자 합쳐진 문자열이 주어짐 이 문자열에서 합쳐진 문자열을 숫자로 이루어진 형태로 출력해줘야 함 2. 코드 실행 창피하게도.. 정말 여기서 아무것도 못하겠어서..ㅠ 저 고민의 흔적!!! ㅠㅠ //첫번째 시도 def solution(s): eng={'zero':0,'one':1,'two':2,'three':3,'four':4,'five':5,'six':6,'seven':7,'eight':8,'nine':9} for key in eng: s=s.replace(key,eng[key]) return int(s) 처음 생각했던 건 이거였다. ..
[DAY 3] 프로그래머스 LV0. 문자열을 정수로 변환하기
·
Algorithm/항해일지 TIL
문제 https://school.programmers.co.kr/learn/courses/30/lessons/181848 1. 코드 풀이 파이썬은 객체를 꼭 구분한다. 문자열을 정수로 변환하기 위해서는 Int 인자 활용한다 2. 코드 실행 def solution(n_str): answer=int(n_str) return answer 3. 결과
[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 >..
[Python] 파이썬 공백넣기/ 줄바꿈 / 줄바꿈없애기
·
Python
print, end, sep, split 의 차이점은 무엇일까? 1. 공백 넣기 1. print(' ') 문자열을 출력할 때 따옴표 안에 문자열을 입력하여 출력하였던 것처럼 마찬가지로 따옴표 안에 공백을 출력한다고 생각하면 된다. print("Hello") print(" ") print("World") >> Hello World 2. end(' ') 출력한 내용 뒤에 어떤 문자열을 추가로 붙일지 지정하는 역할 / 그 다음 출력물과 이어지게 하는 역할 end 이름 그대로라고 생각하면 편하다. > 이름 그대로 문장을 출력하고 마지막에 무엇을 쓰고 끝낼지 정해주는 역할 출력물과 다음 출력물을 이어지게 하는 역할 마찬가지로 따옴표 안에 공백을 출력하여 다음 출력물과 이어지게 함으로써 공백을 추가할 수 있게 된다..
[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이라는 초기값 하나로 함수를 세개나 정의해주어야 하기 때문에 초기 매개변수를 설정을 잘 받는 것이 중요하다. ..
하이롱하이롱
파이티이잉