함수

· 백준
코드 import sys input = sys.stdin.readline n,m = map(int, input().split()) graph = [[*map(int, input().split())] for _ in range(n)] def floyd(): # 함수화 했을 때 더 빨리 실행된다. for i in range(n): for j in range(n): for k in range(n): if j == k: continue graph[j][k] = min(graph[j][k], graph[j][i]+graph[i][k]) floyd() for _ in range(m): a,b,c = map(int,input().split()) if graph[a-1][b-1]
· PYTHON
return 함수에서 return은 크게 두 가지 역할을 한다. 1. 결과값 반환 return은 결과값을 돌려주는 명령어로, 함수에서는 결과값을 return으로만 받을 수 있다. 만약 결과값이 없다면 None이 출력된다. def plus_one(a): return a+1 print(plus_one(5)) # 6 def plus_two(a): a+2 print(plus_one(5)) # None 2. 함수를 빠져나가는 기능 return은 함수를 종료시키고 싶을 때 사용할 수 있다. def hello(a): if a == "fxxking": return print(f'Hello {a} World!') hello('happy') # Hello happy World! hello('fxxking') # 실행되지 ..
· PYTHON
함수의 매개변수 매개변수에는 여러 값을 넣을 수 있지만 그 값이 정해져 있지 않은 경우에 * 를 이용하면 여러 개를 넣어줄 수 있다. 그렇게 쉽게 문제를 푸나 했지만 importError가 나왔다. 문제를 읽어보니 def solve(a) a 자리에 리스트가 들어간다고 한다. 리스트를 넣을 수 있는 것도 오늘 처음 알았다. 신기한걸... 어쨌든 a 앞에 넣었던 *를 제거하니 문제는 해결됐다. importError가 난 코드 def nSum(*a): return sum(a) 통과한 코드 def solve(a): return sum(a)
· JAVASCRIPT
클로저... 내가 아는 클로저는 2016년에 나온 The Chainsmokers의 Closer와 LCK 미드라이너 Clozer 선수, 야구에서 마무리 투수를 의미하는 클로저밖에 몰랐지만 이번에 또 하나 추가로 알게 됐다. 말 나온 김에 closer 한 번 들어야겠다... Closure closure는 폐쇄라는 의미를 가지고 있다. 이 뜻이 도대체 무슨 관련이 있을까? 위키백과에는 '컴퓨터 언어에서 클로저는 일급 객체 함수의 개념을 이용하여 스코프에 묶인 변수를 바인딩 하기 위한 일종의 기술이다.' 라고 나와있다. 말이 너무 어렵다... 조금 더 풀어서 알아보자. 클로저는 함수가 선언될 때의 유효 범위(렉시컬 범위)를 기억하고 있다가, 외부에서 호출될 때 그 유효범위의 특정 변수를 참조할 수 있는 개념이다..
· JAVASCRIPT
불변성과 가변성 불변성과 가변성은 그 데이터가 원시형인가 참조형인가에 따라 갈리는 성질이다. 객체(object), 배열(array), 함수(function)이 참조형 데이터에 해당된다. 이를 제외한 데이터는 원시형에 해당된다. 원시형 데이터는 불변성을, 참조형 데이터는 가변성을 가지고 있다. 원시형은 모양이 같으면 같다고 할 수 있지만, 객체형은 모양이 같다고 해서 같다고 해서는 안된다. // 불변성 & 가변성 // 불변성(Immutability)은 생성된 데이터가 메모리에서 변경되지 않고 가변성(Mutability)은 생성된 데이터가 메모리에서 변경될 수 있음을 의미 // 참조형: 객체, 배열, 함수 // 자바스크립트 원시형은 불변성을, 참조형은 가변성을 가지고 있다. let a = 1; let b =..
· JAVASCRIPT
this this는 자신이 속한 객체 또는 자신이 생성할 인스턴스를 가리키는 자기 참조 변수(self-reference variable)이다. this를 통해 자신이 속한 객체 또는 자신이 생성할 인스턴스의 프로퍼티나 메서드를 참조할 수 있다. this는 자바스크립트 엔진에 의해 암묵적으로 생성된다. this는 코드 어디서든 참조할 수 있다. 하지만 this는 객체의 프로퍼티나 메서드를 참조하기 위한 자기 참조 변수이므로 일반적으로 객체의 메서드 내부 또는 생성자 함수 내부에서만 의미가 있다. 함수를 호출하면 인자와 this가 암묵적으로 함수 내부에 전달된다. 함수 내부에서 인자를 지역 변수처럼 사용할 수 있는 것처럼, this도 지역 변수처럼 사용할 수 있다. 단, this가 가리키는 값, 즉 this..
· JAVASCRIPT
함수를 생성하는 방법 3가지 1. 함수 선언문 (function statement) 2. 함수 표현식 (function expression) 3. Function() 생성자 함수 이때 함수 선언문과 함수 표현식은 함수 리터럴 방식으로 함수를 생성한다. 자바스크립트에서 함수명은 선택사항이다. 이름이 없는 함수를 익명함수(anonymous function) 라고 한다. 자바스크립트 함수 리터럴은 function 키워드로 시작. 함수 선언문 방식으로 선언된 함수는 이름이 있어야 한다. function add(x,y) { return x+y; } console.log(add(3, 4)); // (출력값) 7 함수 표현식 방법으로 함수 생성하기 자바스크립트에서는 함수도 하나의 값처럼 취급한다. (이러한 특징 때문..