함수
·
JavaScript
함수 리터럴 const t=function hi(a,b){ return a+b; } 함수리터럴만 아래처럼 이름 생략이 가능하다 const t=function(a,b){ return a+b; } t(1,2) 결과: 3 리터럴: 값을 생성하기 위한 표기법(사람 이해) -> 함수 리터럴도 평가되어 값을 생성 -> 값은 객체 -> 함수는 객체 함수는 정의하는 것, 변수는 선언하는 것 함수 선언식 function hi(a,b){ return a*b; } //undefined 이름 생략이 불가능하다. 함수 선언식은 표현식이 아닌 문 이다! 표현식이 아닌 문을 실행하면 항상 undefined를 출력하고( 완료 값 ) 위에 코드를 실행시켜보면 undefined가 나오는것을 알 수 있다. 표현식이 아닌 문은 변수에 할당..
백준 1259번 : 팰린드롬 수
·
알고리즘(Algorithm)
슬라이싱을 사용해서 쉽게 풀었다 우선 문자열로 바꿔주고 -> :: 문자열ALL / ALL에서 -1번째부터 즉, 역순으로 while(True): n=int(input()) if n==0: break if n==(int(str(n)[::-1])): print('yes') else: print('no')
1181: 단어정렬
·
알고리즘(Algorithm)
알파벳 소문자로 이루어진 N개의 단어가 들어오면 아래와 같은 조건에 따라 정렬하는 프로그램을 작성하시오. 길이가 짧은 것부터 길이가 같으면 사전 순으로 단, 같은 단어가 여러 번 입력된 경우에는 한 번씩만 출력한다. 조건에따라서 -> 알파벳의 길이 비교 / 사전순 정렬 / 중복제거 중복제거를 먼저 하기위해 중복이 허용되지 않는 자료형인 set를 사용해서 리스트에 담았다. lambda를 사용해서 알파벳의 길이순으로 정렬을 한번더 시켰다. - lambda 매개변수 : 표현식 형태 key= lambda x : len(x) -> key인자에 함수를 넘겨주면 해당 함수의 반환값을 비교하여 순서대로 정렬해준다. lambda의 작동은 len(x) => 단어 길이로 정렬후 x=> 사전순으로 다시정렬
객체
·
JavaScript
객체 -> 변경 가능한 값 -> 원시값을 제외한 모든 것 var hi={ age=10, //프로퍼티 : 객체의 상태를 나타내는 값 who:function(){} //메서드 : 프로퍼티를 참조하고 조작할 수 있는 동작\ ES6에선 메서드를 축약해서 표현할수있다. who(){} 이런식으로 } 프로퍼티 key = age / 프로퍼티 value= 10 이다. key이름은 네이밍 규칙을 지켜서 하면 좋다( 만약, 규칙을 못지킬경우 " " , ' '을 사용해라 ex) hi-there 같은경우 ' '를 사용하지 않으면 에러를 발생시킨다) 이름이 중복되면 나중에 선언한 프로퍼티가 덮어쓴다. 프로퍼티 접근,갱신,동적 생성,삭제 마침표 표기법 -> hi.age 대괄호 표기법 -> hi['age'] 여기서 그냥 [age]라..
백준 2581번 : 소수
·
알고리즘(Algorithm)
위에 풀었던 문제랑 비슷한 문제였다. 좀더 보기 좋은 코드로 만들었다.
백준 1978번: 소수찾기
·
알고리즘(Algorithm)
소수를 찾는문제다. '1'은 소수가 아니므로 조건에서 continue 시키고 나누는것은 2부터 시작한다. 아래 if 조건은 예를 들어 4%2==0 인데 4==2 가 같아야 소수의 조건을 만족하기에 count는 증가하지않는다 break는 자기보다 큰수로 넘어가는 것을 방지하기위해서이다.
타입 변환,단축 평가
·
JavaScript
명시적 타입 변환 | 타입 캐스팅 var a=5; var n=a.toString() 생성자 함수 : String ,Number , Boolean을 사용하는 방법 toString , parseInt 등등 암묵적 타입 변환 | 타입 강제 변환 var a=5; var x=5+'' //string으로 변환된다. //문자열 타입으로 변환 어떤 타입이 앞에오고 + '' 이렇게 문자열 타입으로 암묵적 변환을 하게되면 대부분 문자열로 변환된다. //숫자 타입으로 변환 1- '1' // 0 2 * '10' // 20 + 단항 연산자 사용 + '0' // 0 + '2' // 2 + 'hi' // NaN + true //1 + false //0 +null //0 불리언 타입 거짓으로 평가되는 값만 알아두면 된다. false..
표현식과 문/ 데이터 타입/연산자
·
JavaScript
-값 : 표현식이 평가되어 생성된 결과를 말한다. ex) 3+7 이라는 식이 평가되어 10이라는 결과를 생성한것. -리터럴: 사람이 이해할 수 있는 문자 또는 약속된 기호를 사용해 값을 생성하는 표기법. ex) 정수 리터럴 : 100 , null 리터럴 : null 등 -표현식: 값으로 평가될 수 있는 문(statement)이다. ex) var today=60; -문: [statement] 프로그램을 구성하는 기본 단위이자 최소 실행 단위. -토큰(Token): 문법적인 의미를 가지며 문법적으로 더 이상 나눌 수 없는 코드의 기본 요소 ex) var pig=60+20 ; 이라는 '문'이 있을때 토큰은 var, pig, = , 60 , + , 20, ; 이다. 표현식과 문 구분법 //표현식이 아닌 문 va..
변수
·
JavaScript
변수란? 컴퓨터는 CPU를 통해서 연산하고 메모리를 사용해서 데이터를 기억한다. Memory란? 데이터를 저장할 수 있는 메모리 셀의 집합체다. -> 크기는 1byte이고 쉽게 말하자면 원룸을 생각하면된다. 1바이트 단위로 데이터를 저장하거나 읽어들인다. 0x000.. / 0x..f2 이런 주소를 가진 메모리가 있고 그 메모리셀안에 데이터가 저장되있는 형식이다. 위 그림은 아래 출처에서 가져온 것이다. 왼쪽에 메모리 주소가 있고 메모리에 undefined, 80 같은 data가 저장되있는것이다. 각 셀은 고유의 메모리 주소를 가진다. -> 주소는 메모리 공간의 위치를 나타낸다 ( Post Code로 생각하면 편함) 4GB메모리는 0x00..~0xFF.. 의 주소를 가진다 (엄청 많음) 그리고 컴퓨터는 우..
백준 4949번 : 균형잡힌 세상 [Python]
·
알고리즘(Algorithm)