본문 바로가기

반응형

분류 전체보기

(28)
[프로그래머스][lv.1] 수박수박수박수박수박수? - python 풀이 1. 기존 JS 에서 풀었던 방식으로 풀기. 짝수일 때 문자열 "박" 추가, 홀수일 때 "수" 추가하기 def solution(n): answer = '' for i in range(1,n+1): if i%2==0: answer += "박" else : answer += "수" return answer 2. 그러나 문자열에서 += 연산으로 객체를 추가하면 성능적으로 떨어지기 때문에 코드를 개선해보기 answer를 리스트로 만들었기 때문에 문자열로 변환 필요 join 활용 및 내포 방식을 통한 코드 개선 def solution(n): answer = ['박' if i%2==0 else '수' for i in range(1,n+1)] return ''.join(answer) def solution(n): r..
[프로그래머스][lv.1] 약수의 합 - python 풀이 약수 = 나눴을 때 나머지가 0 Ex. 6의 약수 = 1 , 2 , 3 , 6 1. for문을 돌리고 조건문으로 나머지가 0일 때를 찾아서 합을 구하는 방식으로 짜보기 def solution(n): answer = 0 for i in range(1,n+1): if n%i==0: answer+=i return answer 2. 내포 방식을 활용한 개선해보기 def solution(n): a= [i for i in range(1,n+1) if n%i==0] return sum(a) def solution(n): return sum([i for i in range(1,n+1) if n%i==0])
[프로그래머스][lv.1] 없는 숫자 더하기 - python 풀이 1. 이전에 JS 로 풀었던 방식대로 for 문을 돌면서 없는 숫자를 찾아 더하는 방식으로 풀어보자. def solution(numbers): answer = 0 for i in range(1,10): if i not in numbers: answer += i return answer 2. 코드를 개선해보자. 차집합을 이용해 풀어보기. def solution(numbers): answer = set([0,1,2,3,4,5,6,7,8,9]) - set(numbers) return sum(answer) 3. python의 장점을 적극 활용해 코드를 개선하자. 2의 코드를 내포 방식으로 바꾸기. def solution(numbers): answer = set([i for i in range(10)]) - se..
[성능] 문자열 제대로 사용하기 ( 부제 : +=를 자제해야 하는 이유 ) 최근 코드 리뷰를 받던 중 문자열 성능 이슈에 관한 조언을 들었다. 문자열에서 +=를 사용하는 건 성능적으로 안좋기 때문에 지양해야 한다는 이야기이다. 문자열에서 += 방식으로 결합할 때, 객체는 기존 객체에서 연장이 아닌, 완전히 새로운 객체를 처음부터 만드는 방식로 연장된다. 따라서 연산이 더욱 오래 걸리게 되는 것이다. 문자열 결합 시, += 연산 과 .join() 연산을 사용하게 된다. 1. .join() join을 활용하면 문자열 리스트를 한번에 결합할 수 있다. 한번에 결합하기 때문에 더욱 효과적이며 O(n)의 시간복잡도를 가진다. 2. += += 연산은 앞의 설명과 같이 변경 불가능한 객체이므로, 연산을 수행할 때 마다 새로운 객체가 생성 되고, 시간복잡도 O(n^2)을 가진다. 즉, 문자열..
[ResponsiveWeb]반응형 웹과 BootStrap - 미디어쿼리 / 부트스트랩 적용법 1. 개념 반응형 웹 ( = Responsive Web ) Web 디자인의 기법 중 하나로, 디바이스의 디스플레이 종류에 반응하여 그에 맞도록 적절하게 UI 요소들이 유기적으로 배치되도록 설계된 웹 크게 말해, 브라우저의 크기에 실시간으로 반응하여 크기에 따라 레이아웃이 변하는 웹 사이트라는 의미 반응형 웹 디자인 예시들 1. 카카오 모빌리티 https://www.kakaomobility.com/ 2. 삼성 뉴스 룸 https://news.samsung.com/kr/ ( 워드 프레스 사용 ) 3. 네이버 (적응형 웹) https://m.naver.com/ https://naver.com/ 왜 반응형이 필요한가에 대한 답은 아래 영상을 보면 잘 느낄 수 있다. Youtube - 노마드 코..
[JS] JQuery 자바 스크립트 언어를 간편하게 사용할 수 있도록 단순화 시킨 오픈 소스 기반 자바스크립트 라이브러리 주요 웹 브라우저의 구버전을 포함한 대부분의 브라우저에서 지원 가능 HTML DOM를 손쉽게 조작 가능, CSS 스타일도 간단히 적용 가능 애니메이션 효과나 대화형 처리를 간단하게 적용 같은 동작을 하더라도 더욱 짧게 구현 가능 오픈 라이선스를 적용해 누구나 자유롭게 이용 가능 JQuery 사용법 1. 파일 다운로드 2. CDN (content Delivery Network) 사용 https://releases.jquery.com/ 1. JQuery 메소드 값 가져오기 & 설정하기 메소드 예시 설명 $(선택자).val( ); var value = $("input").val(); Input과 같은 value..
[JS] JavaScript(3) - 객체 / DOM 1. JavaScript 표준 객체 - 자바 스크립트가 기본적으로 가지고 있는 객체들 Date 객체 - 함수 date.now() 기준 시간으로부터 지금까지 지난 밀리초 date.getFullYear() 년도 date.getDate() 초기화 한 시간의 일 date.getDay() 현재 요일의 index date.getTimes() 내가 기준으로 잡은 시간이 기준 시간으로부터 얼마나 지났는지 밀리초 date.getHours() 현재 시간 (시) date.getMinutes() 현재 시간 (분) date.getSeconds() 현재 시간 (초) Math 객체 - 함수 Math.PI() π Math.E() e Math.min() 최솟값 Math.max() 최댓값 Math.random() 랜덤한 수를 추출 Ma..
[JS] JavaScript(2) - 함수 / 조건문 / 반복문 / 메소드 / 배열 1. Function ( 함수 ) - 함수란? 특정 동작(기능)을 수행하는 일부 코드의 집합(부분) // 함수 선언문 : 어디서든 호출 가능 function sayHello(name){ console.log(`Hello, ${name}`); } // 함수 표현식 : 코드에 도달하면 생성 let sayHello = function(name){ console.log(`Hello, ${name}`); } // 화살표 함수 let sayHello = (name) => { console.log(`Hello,${name}`) } 호이스팅 (Hoisting) 이란? - 함수 안에 존재하는 모든 선언들을 해당 함수 최상단으로 끌어올리는 것 - 호이스팅은 선언에서만 발생함 2. Onclick - 각각의 html 요소에 ..

반응형