본문 바로가기

분류 전체보기202

[Python(파이썬)] 리스트, 튜플, 세트, 딕셔너리 리스트 (list) 순차 자료형, 가변 자료형 데이터를 나열한 열거 데이터의 집합(파이썬에서 사용되는 모든 자료형을 저장가능)이다. [] 로 표현, 각각의 항목은 쉼표(,)로 구분한다. 리스트 선언 방법 [] or list() >>> test = [] >>> test2 = list() >>> type(test) >>> type(test2) 튜플 (tuple) '리스트 타입'과 닮았지만 값을 변경할 수 없는 특징을 가진다. extend(), append(), pop(), insert(), remove() 와 같은 값 변경하는 함수 존재 하지 않는다. 순차 자료형,` 불변 자료형 () 로 표현, 각각의 항목은 쉼표(,)로 구분한다. 튜플 선언 방법 () or tuple() # 빈 튜플 선언 >>> test .. 2021. 7. 6.
[프로그래머스/Level2] 타겟 넘버 문제 설명 n개의 음이 아닌 정수가 있습니다. 이 수를 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 있습니다. -1+1+1+1+1 = 3 +1-1+1+1+1 = 3 +1+1-1+1+1 = 3 +1+1+1-1+1 = 3 +1+1+1+1-1 = 3 사용할 수 있는 숫자가 담긴 배열 numbers, 타겟 넘버 target이 매개변수로 주어질 때 숫자를 적절히 더하고 빼서 타겟 넘버를 만드는 방법의 수를 return 하도록 solution 함수를 작성해주세요. 제한사항 주어지는 숫자의 개수는 2개 이상 20개 이하입니다. 각 숫자는 1 이상 50 이하인 자연수입니다. 타겟 넘버는 1 이상 1000 이하인 자연수입니다. .. 2021. 7. 5.
[Python(파이썬)] itertools - 순열, 조합, product, 두 개 이상 리스트 모든 조합 순열(Permutation) 서로 다른 n개 중에서 r개를 취하여 그들을 일렬로 세울 때, 하나하나를 n개 중에서 r개 취한 순열 (= 서로 다른 n 개 중 r 개를 골라 순서를 고려해 나열한 경우의 수) # 파이썬에서 순열을 사용하는 법 >>> from itertools import permutations >>> test = [1,2,3,4,5] >>> permutations(test) >>> list(permutations(test, 2)) [(1, 2), (1, 3), (1, 4), (1, 5), (2, 1), (2, 3), (2, 4), (2, 5), (3, 1), (3, 2), (3, 4), (3, 5), (4, 1), (4, 2), (4, 3), (4, 5), (5, 1), (5, 2), (5.. 2021. 7. 5.
[프로그래머스/Level2] 멀쩡한 사각형 (대각선에 잘린 사각형) 문제 설명 가로 길이가 Wcm, 세로 길이가 Hcm인 직사각형 종이가 있습니다. 종이에는 가로, 세로 방향과 평행하게 격자 형태로 선이 그어져 있으며, 모든 격자칸은 1cm x 1cm 크기입니다. 이 종이를 격자 선을 따라 1cm × 1cm의 정사각형으로 잘라 사용할 예정이었는데, 누군가가 이 종이를 대각선 꼭지점 2개를 잇는 방향으로 잘라 놓았습니다. 그러므로 현재 직사각형 종이는 크기가 같은 직각삼각형 2개로 나누어진 상태입니다. 새로운 종이를 구할 수 없는 상태이기 때문에, 이 종이에서 원래 종이의 가로, 세로 방향과 평행하게 1cm × 1cm로 잘라 사용할 수 있는 만큼만 사용하기로 하였습니다. 가로의 길이 W와 세로의 길이 H가 주어질 때, 사용할 수 있는 정사각형의 개수를 구하는 solutio.. 2021. 7. 5.
[프로그래머스/Level2] 124 나라의 숫자 문제 설명 124 나라가 있습니다. 124 나라에서는 10진법이 아닌 다음과 같은 자신들만의 규칙으로 수를 표현합니다. 124 나라에는 자연수만 존재합니다. 124 나라에는 모든 수를 표현할 때 1, 2, 4만 사용합니다. 예를 들어서 124 나라에서 사용하는 숫자는 다음과 같이 변환됩니다. 10진법 124 나라 10진법 124 나라 1 1 6 14 2 2 7 21 3 4 8 22 4 11 9 24 5 12 10 41 자연수 n이 매개변수로 주어질 때, n을 124 나라에서 사용하는 숫자로 바꾼 값을 return 하도록 solution 함수를 완성해 주세요. 제한사항 n은 500,000,000이하의 자연수 입니다. 입출력 예 n result 1 1 2 2 3 4 4 11 나의 풀이 [Python(파이썬).. 2021. 7. 3.
[Python(파이썬)] 몫, 나머지 구하기( /, //, %, divmod() ) 나눗셈 나눗셈 기호 -> 슬래쉬 1개 '/' >>> 8 / 2 4.0 # 나누어 떨어지지 않으면 반올림 된다. >>> 14 / 3 4.666666666666667 >>> 15 / 5 3.0 >>> 21 / 8 2.625 나눗셈의 몫 나눗셈의 몫 기호 -> 슬래쉬 2개 '//' >>> 8 // 2 4 >>> 14 // 3 4 >>> 15 // 5 3 >>> 21 // 8 2 나눗셈의 나머지 나눗셈의 나머지 기호 -> 퍼센트 '%' >>> 8 % 2 0 >>> 14 % 3 2 >>> 15 % 5 0 >>> 21 % 8 5 divmod(a, b) 매개변수 숫자 a, b를 입력 받아 몫과 나머지를 튜플(tuple) 형태로 반환하는 함수 >>> divmod(8, 2) (4, 0) >>> divmod(14, 3) .. 2021. 7. 2.
[프로그래머스/Level2] 짝지어 제거하기 (2개의 같은 문자 제거) 문제 설명 짝지어 제거하기는, 알파벳 소문자로 이루어진 문자열을 가지고 시작합니다. 먼저 문자열에서 같은 알파벳이 2개 붙어 있는 짝을 찾습니다. 그다음, 그 둘을 제거한 뒤, 앞뒤로 문자열을 이어 붙입니다. 이 과정을 반복해서 문자열을 모두 제거한다면 짝지어 제거하기가 종료됩니다. 문자열 S가 주어졌을 때, 짝지어 제거하기를 성공적으로 수행할 수 있는지 반환하는 함수를 완성해 주세요. 성공적으로 수행할 수 있으면 1을, 아닐 경우 0을 리턴해주면 됩니다. 예를 들어, 문자열 S = baabaa 라면 b aa baa → bb aa → aa → 의 순서로 문자열을 모두 제거할 수 있으므로 1을 반환합니다. 제한사항 문자열의 길이 : 1,000,000이하의 자연수 문자열은 모두 소문자로 이루어져 있습니다. .. 2021. 7. 2.
[Python(파이썬)] 문자열 인덱스로 접근하기 문자열은 문자들이 일렬로 모여있는 상태 문자열[인덱스] 문자열은 리스트처럼 인덱스로 접근하여 값을 가져올 수 있다. >>> test = 'python' # test의 인덱스 0(첫번째)번 가져오기 >>> test[0] 'p' # test의 마지막 인덱스 가져오기 >>> test[-1] 'n' # test의 인덱스 0~2까지 가져오기 >>> test[:3] 'pyt' # 인덱스의 범위가 벗어나면 에러발생 >>> test[7] Traceback (most recent call last): File "", line 1, in test[7] IndexError: string index out of range 문자열의 길이 >>> len(test) 6 문자열은 리스트와 같이 =로 문자를 할당하거나 변경할 수 없다.. 2021. 7. 2.
[프로그래머스/Level1] 직사각형 별찍기 문제 설명 이 문제에는 표준 입력으로 두 개의 정수 n과 m이 주어집니다. 별(*) 문자를 이용해 가로의 길이가 n, 세로의 길이가 m인 직사각형 형태를 출력해보세요. 제한 조건 n과 m은 각각 1000 이하인 자연수입니다. 예시 입력 5 3 출력 ***** ***** ***** 나의 풀이 [Python(파이썬)] # 풀이 1 def solution(n, m): temp = '' for i in range (m): for j in range (n): temp += '*' print(temp) temp = '' # 풀이 2 a, b = map(int, input().strip().split(' ')) for i in range (b): for j in range (a): print('*', end='') .. 2021. 7. 1.
[Python(파이썬)] Numpy 라이브러리 Numpy 라이브러리 데이터 분석에서 가장 많이 활용되는 라이브러리 벡터과 행렬 등 수치 연산을 수행하는 데에 있어서 매우 편리한 기능을 제공한다. Numpy는 내장 라이브러리가 아니기 때문에 별도로 import해야 한다. import numpy as np list1 = [10, 20, 30, 40, 50] print(list1) list2 = np.array(list1) print(list2) # 출력 (numpy는 쉼표 없이 출력된다) # [10, 20, 30, 40, 50] # [10 20 30 40 50] 아직 더 공부해서 채워넣기!!!! 2021. 7. 1.