목록Programming Languages (7)
눈송이의 개발생활
프로그래머스 Lv.1 문제를 풀다가 처음 보는 함수가 있어서 정리하려고 한다. 행렬의 덧셈이라는 문제였는데, 나는 이중 for문을 돌면서 각각 원소를 더했지만, 다른 사람의 풀이를 보니 zip()을 이용해서 심플하게 풀었었다. 아래와 같이 나의 코드는.... 정말 길고 복잡하고 못생겼다. 코드가 확 깨끗해지는 함수라서 공부해보았다. # 내 풀이 def solution(arr1, arr2): answer = [] for i in range(len(arr1)): answer.append([]) for j in range(len(arr1[0])): answer[i].append(arr1[i][j] + arr2[i][j]) return answer # 다른 사람 풀이 def solution(arr1, arr2)..
Hashmap이란? Hashing된 map 객체를 map에 넣는 것 💡 Map은 무엇인가? MAP : key & value를 가진 자료구조. key와 value를 쌍으로 보관 KEY : map에 유일하게 (중복되지 않게) 존재. 동일한 key가 들어오면 기존의 쌍 대체 VALUE : 중복 가능. key를 통해서 값을 볼 수 있음 💡 Hashing은 무엇인가? key 값을 hash function에 대입해서 계산된 결과를 주소로 사용하여 value에 접근할 수 있게 함 Java에서의 HashMap //선언 import java.util.HashMap; HashMap map = new HashMap(); ✅ 값 추가 // key, value map.put("A", 100); map.put("B", 101);..
Deque == Double-Ended Queue 큐의 앞과 뒤에서 모두 삽입/삭제가 가능하다 덱을 이용해서 양방향 큐/원형 큐를 구현할 수 있다 파이썬에서는 collections 모듈 내에 있는 deque를 사용할 수 있다 📌 다양한 함수 append(x) : 맨 끝에 x를 삽입 appendleft(x) : 맨 앞에 x를 삽입 pop() : 맨 뒤에 있는 원소 삭제 popleft() : 맨 앞에 있는 원소 삭제 clear() : 덱 전체를 비움 (len == 0) copy() : 뎃 전체를 복사 count(x) : 덱의 원소 중 x의 개수를 셈 extend(iterable) : iterable 원소들 모두 덱의 맨 끝에 덧붙임 insert(x, i) : index i에 x를 삽입 index(x[, st..
자주 쓰이는 순열, 중복순열, 조합, 중복조합 구현하기 itertools 공식문서에 따르면 itertools는 효율적인 루핑을 위한 iterator를 만드는 함수라고 한다 해당 모듈에는 다양한 함수들이 있다 그 중 자주 나오는 순열 조합 함수들에 대해 정리해 볼 것이다 📌 permutations from itertools import permutations arr = [1, 2, 3, 4] print(permutations(arr, 2)) print(list(permutations(arr, 2))) # # [(1, 2), (1, 3), (1, 4), (2, 1), (2, 3), (2, 4), (3, 1), (3, 2), (3, 4), (4, 1), (4, 2), (4, 3)] permutations(li..
List를 String으로 바꾸는 방법 📌 join 함수 리스트에 있는 모든 요소를 합쳐서 하나의 문자열로 바꿔주는 함수 '구분자'.join(list) list = ['a', 'b', 'c', 'd'] print(''.join(list)) # abcd print(' '.join(list)) # a b c d print(','.join(list)) # a,b,c,d 리스트 안의 모든 요소가 string형이 아니면 error가 발생하기 때문에 형변환을 해준 뒤에 join 함수를 사용하면 예외처리 할 수 있다. list = ['a', 'b', 1, 2] print(' '.join(str(e) for e in list)) # a b 1 2 📌 for문 사용 list = ['a', 'b', 'c', 'd'] st..
1. 조건문 📌 if const name = 'df'; if (name === 'suah') { console.log('Welcome, Suah!'); } else if (name === 'coder') { console.log('You are amazing coder'); } else { console.log('unknown'); } 📌 ? condition ? value1 : value2 조건이 참이면 value1 출력 조건이 거짓이면 value2 출력 console.log(name === 'suah' ? 'yes' : 'no'); //no 📌 switch 여러개의 if문이..
1. Data Types 📌 let added in ES6 유일한 변수 선언 명령어 Muttable (read&write) //global scope let name = 'suah'; console.log(name); { //block scope let age = 23; console.log(age); } block scope : {} 블록 밖에서는 블록 안으로 접근할 수 없음 global scope : 전역 변수. application 시작부터 끝까지 메모리에 탑재되어있기 때문에 최대한 덜 쓰는 것이 좋음 📌 var 지금은 잘 사용하지 않는 변수 선언 명령어 선언하기 전에 값을 할당할 수 있음 var hoising : 어디에 변수를 선언했느냐에 상관없이 항상 제일 위로 선언을 끌어 올려주..