전체 글 33

Python 딕셔너리 자료형

1. 딕셔너리 쌍 추가, 삭제 딕셔너리에 key와 value를 추가하려면 딕셔너리[key] = value 와 같이 입력하면 된다. dict = {1: 'a'} dict[2] = 'b' print(dict) # {1: 'a', 2: 'b'} 요소를 삭제하려면 del을 사용한다. dict = {1: 'a', 2: 'b'} del dict[1] print(dict) # {2: 'b'} 2. key를 사용해 value 얻기 딕셔너리[key]를 사용해 해당 value를 얻을 수 있다. key는 고유한 값이라는 특성이 있어, 겹치지 않게 데이터를 저장하고 얻을 수 있다는 점에서 유용하다. dict = {1: 'a', 2: 'b'} print(dict[1]) # a 만약, 중복된 key값이 있는 경우, 하나의 key..

[프로그래머스] 오픈채팅방 (Python)

⭐Level 2 https://programmers.co.kr/learn/courses/30/lessons/42888 코딩테스트 연습 - 오픈채팅방 오픈채팅방 카카오톡 오픈채팅방에서는 친구가 아닌 사람들과 대화를 할 수 있는데, 본래 닉네임이 아닌 가상의 닉네임을 사용하여 채팅방에 들어갈 수 있다. 신입사원인 김크루는 카카오톡 오 programmers.co.kr 코드 (Python) def solution(record): answer = [] dic = {} for i in record: temp = i.split() if temp[0] == "Enter" or temp[0] == "Change": dic[temp[1]] = temp[2] else: # Leave continue for i in reco..

[프로그래머스] 나머지 한 점 (Python)

최근 코딩테스트 데모 예제로 나왔던 문제이다. https://programmers.co.kr/learn/courses/18/lessons/1878 세개의 좌표가 입력으로 들어오고, 직사각형을 만들기 위해서 나머지 한개의 좌표를 찾는 문제이다. 직사각형의 각 변이 x, y축과 평행하고, 세 점을 그려보면 x와 y에서 한번씩만 나온 값의 좌표가 결과값을 갖게된다. 정답 코드 def solution(v): # x, y좌표가 들어갈 리스트 x = [] y = [] answer = [] # 이중배열 순회 for i in v: if i[0] not in x: x.append(i[0]) else: x.remove(i[0]) if i[1] not in y: y.append(i[1]) else: y.remove(i[1]..

VS Code 단축키 모음

줄, 블럭 이동하는 단축키 멀티라인 삭제: ctrl + shift + K 라인 위, 아래로 이동: alt + 방향키 커서 관련 다중선택 커서: ctrl + alt (또는 shift + alt + 마우스 드래그) 주석 관련 한줄씩 주석처리: ctrl + / 멀티라인 주석처리: shift + alt + A 탭 관련 탭 이동하기: tab 반대 방향으로 탭 이동: shift + tab 현재 탭 닫기: ctrl + W 기타 단축키 자동 줄바꿈: alt + Z 선택 라인으로 이동하기: ctrl + G 폰트 사이즈 조절: ctrl + +/- 설정화면 열기: ctrl + , 터미널 열기: ctrl + `(백틱)

𝖭𝗈𝗍𝖾 2021.06.05

Javascript 숫자, 문자열 타입, 동적타이핑

1. 숫자타입 특징 자바스크립트는 C나 Java처럼 int, long 같은 숫자타입을 제공하지 않음. 모든 수를 실수로 처리하고, 정수만 표현하는 별도의 타입도 존재하지 않는다. console.log(1 === 1.0); // true 자바스크립트에서는 0으로 나누는것도 표현할 수 있는데, 이때 Infinity라는 값으로 나타낸다. console.log(10 / 0); // Infinity console.log(10 / -0); // -Infinity console.log(1 * 'String'); // NaN 대소문자를 구별하기 때문에 반드시 NaN 그대로 써야함. not-a-number의 뜻을 가진다. 2. 문자타입 특징 문자열은 "", '', `` 이렇게 세가지로 나타낼 수 있는데, 자바스크립트에서..

카테고리 없음 2021.06.04

백준 9095: 1,2,3 더하기 (DP)

https://www.acmicpc.net/problem/9095 9095번: 1, 2, 3 더하기 각 테스트 케이스마다, n을 1, 2, 3의 합으로 나타내는 방법의 수를 출력한다. www.acmicpc.net 특정 숫자를 주어진 정수들의 합으로 나타낼 수 있는 경우의수를 구하는 문제. 다이나믹 프로그래밍 기본문제이다. 정수 4를 1,2,3의 합으로 나타내는 모든 방식은 다음과 같다. 정수 n은 양수이며 11보다 작다고 주어졌으므로 1부터 구해본다면, 1을 나타내기 위해서는 1만 필요하기때문에 => 1가지 2를 나타내기 위해서는 (1+1), (2) => 2가지 3을 나타내려면 (1+1+1), (1+2), (2+1), (3) => 4가지 예제에서 주어진 4를 나타내기 위해서는 위의 1~3까지의 가지수를 ..

백준 10826: 피보나치 수 4 (DP)

10826번: 피보나치 수 4 피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가 www.acmicpc.net 일반적인 피보나치 수열문제. 아래처럼 재귀로 풀었더니 시간초과가 났다. n = int(input()) def fibo(x): if x==0: return 0 elif x==1: return 1 else: return fibo(x-1) + fibo(x-2) print("%d" % fibo(n)) 재귀로 풀면 정수 x가 커질수록 연산시간이 그만큼 늘어나므로 시간초과가 발생한다 다이나믹 프로그래밍으로 풀이하고, 처음에 0과 1을 ..

프로그래머스 SQL - GROUP BY

1. 고양이와 개는 몇 마리 있을까 https://programmers.co.kr/learn/courses/30/lessons/59040 코딩테스트 연습 - 고양이와 개는 몇 마리 있을까 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디 programmers.co.kr 1. 문제 동물 보호소에 들어온 동물 중 고양이와 개가 각각 몇 마리인지 조회하는 SQL문을 작성해주세요. 이때 고양이를 개보다 먼저 조회해주세요. 2. 풀이과정 고양이와 개를 각각 카운팅해야해서 anim..

[자료구조] 데크(Deque)이해하기

1. Deque의 개념과 구조 Deque(데크)는 double-ended-queue의 줄임말로, 양방향에서 데이터를 처리할 수 있는 queue형 자료구조이다. 아래 그림과 같이, 양방향에서 엘리먼트를 추가, 삭제할 수 있는 양방향 큐라고 생각하면 된다. 2. Deque에 존재하는 메서드 종류 Python에서 deque는 collections라는 모듈안에 deque클래스로 내장되어있다. 가장 기본적인 append() 메서드를 수행하면 다음과 같다. from collections import deque deq = deque(['a', 'b', 'c']) deq.append('d') print(deq) # deque(['a', 'b', 'c', 'd']) 기본 append()를 해주면 위의 예제와 같이 가장 ..