Python 48

파이썬(python) #9_ 딕셔너리 자료형

안녕하세요. 이번 포스팅에서는 딕셔너리 자료형에 대해서 살펴보도록 하겠습니다.1. 딕셔너리 자료형 세상에서는 많은 대응 관계를 갖는 단어들이 있습니다. 사람을 예로 들면, "이름" = "홍길동", "생일" = "5월15일" 이런식으로 말이죠. 파이썬에서는 이러한 대응 관계를 표현하기 위해 딕셔너리(Dictionary) 자료형이 존재합니다.다른 개발 부분에서는 연관 배열(Associative array), 해시(Hash) 라고도 부릅니다. 파이썬에서 이야기하는 딕셔너리 자료형은 말 그대로 사전과 같은 자료형 입니다. 즉, 이름에는 홍길동이, 생일에는 5월15일이 대응 되듯이 파이썬에서는 Key 와 Value가 대응됩니다.딕셔너리 자료형에서는 앞에서 살펴본 리스트나 튜플과 달리 순차적으로 요소 값을 구하지 ..

파이썬(python) #8_ 튜플 자료형

안녕하세요.이번 포스팅에서는 튜플 자료형에 대해서 알아보도록 하겠습니다.1. 튜플 자료형 지난 포스팅에서 리스트 자료형에 대해서 알아보았습니다. 리스트 자료형은 특정 숫자 또는 문자들이 대괄호('[',']')로 묶인 형태인데요, 튜플 자료형은 이와 다르게 소괄호('(',')')로 묶인 것입니다. 튜플은 어떻게 만들까요?일단, 튜플은 리스트와 거의 비슷하지만 위에서 언급했던 점과 같이 약간의 차이점만 존재합니다. - 리스트는 대괄호, 튜플은 소괄호로 둘러쌓인다.- 리스트는 내부 요소의 생성, 삭제 및 수정이 가능하지만 튜플은 불가능하다. 이러한 튜플은 다음과 같은 모습을 가집니다. 위의 그림에서 세번째 항목과 같이, 튜플에서는 한가지 요소만 가질때에는 하나의 요소 뒤에 콤마(,)를 반드시 붙여줘야합니다.또..

파이썬(python) #7_ 리스트 관련 함수들

안녕하세요. 지난 포스팅에서 리스트 자료형에 대해서 알아보았습니다.이번에는 그에 이어서, 리스트 자료형과 관련된 함수들에 대해서 알아보도록 하겠습니다.1. 리스트 끝에 요소 추가하기(append) 첫번째로 알아볼 함수는 리스트에 요소를 추가하는 함수 입니다.append란 사전적의미로, '덧붙이다, 첨부하다.' 라는 의미를 가지고 있습니다.즉, append(x)는 특정 리스트의 끝에 x라는 요소를 추가하는 함수 입니다. 리스트에는 어떠한 자료형도 추가할 수 있는 것을 기억하세요. 2. 리스트의 원하는 위치에 요소 삽입하기(insert) insert함수는 append함수와 달리 요소가 삽입되는 위치를 지정할 수 있습니다.insert(a,b)로 사용되는데, 이는 a위치에 b요소를 삽입한다는 의미입니다. 3. ..

파이썬(python) #6_ 리스트 자료형

안녕하세요. 오랜만에 파이썬 포스팅입니다.이번에는 리스트 자료형에 대해서 알아보도록 하겠습니다.이후 튜플이라는 자료형에 대해서도 알아볼텐데, 리스트와 혼동이 있을 수 있으니 확실히 이해하고 연습하고 넘어가세요.1. 리스트 자료형 우리는 지난 포스팅들에서 숫자와 문자열에 대해서 알아보았습니다.하지만 이러한 것들로 프로그래밍을 진행하기엔 아직 부족합니다. 예를 들어 특정 숫자들의 집합이라는 개념을 표현하는 것은 쉽지 않습니다.파이썬에서는 이러한 것을 적절히 표현하기 위해 리스트라는 자료형이 있습니다. 먼저, 리스트 자료형은 아래와 같은 구조를 가지게 됩니다. 리스트명 = [요소1, 요소2, 요소3, ... ] 이러한 구조를 통해 아래와 같은 리스트들을 만들 수 있습니다. 위의 예시들중, list1과 같이 비..

#3_ 설탕 배달(백준 2839번, 파이썬 풀이)

문제상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그램 봉지와 5킬로그램 봉지가 있다.상근이는 귀찮기 때문에, 최대한 적은 봉지를 들고 가려고 한다. 예를 들어, 18킬로그램 설탕을 배달해야 할 때, 3킬로그램 봉지 6개를 가져가도 되지만, 5킬로그램 3개와 3킬로그래 1개를 배달하면, 더 적은 개수의 봉지를 배달할 수 있다.상근이가 설탕을 정확하게 N킬로그램 배달해야 할 때, 봉지 몇 개를 가져가면 되는지 그 수를 구하는 프로그램을 작성하시오. 입력첫째 줄에 N이 주어진다. (3=0: if n%3 == 0: T = n//3 n = n%3 break F-=1 n+=5pri..

#2_ 피보나치 함수(백준 1003번, 파이썬 풀이)

문제다음 소스는 N번째 피보나치 함수를 구하는 함수이다. 1234567891011int fibonacci(int n) { if (n==0) { printf("0"); return 0; } else if (n==1) { printf("1"); return 1; } else { return fibonacci(n‐1) + fibonacci(n‐2); }}Colored by Color Scriptercs fibonacci(3) 을 호출하면 다음과 같은 일이 일어난다.fibonacci(3) 은 fibonacci(2) 와 fibonacci(1) (첫 번째 호출)을 호출한다.fibonacci(2) 는 fibonacci(1) (두 번째 호출)과 fibonacci(0) 을 호출한다.두 번째 호출한 fibonacci(1)..

파이썬(python) #5_ 문자열 관련 함수들

안녕하세요.이번 포스팅에서는 문자열과 관련된 함수들에 대해서 알아보도록 하겠습니다.궁금하신 점은 언제든지 댓글을 남겨주세요 :)1. 문자 개수 세기 ( count ) 문자열에서 특정 문자의 개수를 반환 합니다. "Hello world. I'll study python!" 이라는 문자열에서 알파벳 o 의 개수를 알기 위해서는 다음과 같이 작성하면 됩니다. 2. 문자열 길이 세기 ( len ) 특정 문자열의 전체 길이를 반환합니다. "Hello world. I'll study python!" 이라는 문자열의 길이를 알고 싶다면, len("Hello world. I'll study python!") 을 입력하면 됩니다. 3. 위치 알려주기1 ( find ) 문자열에서 특정 문자 또는 문자열이 처음으로 나온 위..

파이썬(python) #4_ 문자열 포매팅

안녕하세요. 오늘은 파이썬에서 문자열 포매팅에 대해서 알아보도록 하겠습니다.특정한 값이나 변수등을 문자열에 입력하거나 문자열이 변수에 값에 의해 바뀌어야 하는 등의 상황에서 유용하게 사용될 수 있습니다.1. 문자열 포매팅 먼저 아래와 같은 상황이 있다고 생각해봅시다. 근데 만약, a라는 변수의 값을 5로 바꾼다면? 그럼 b의 문장, "변수 a의 값은 3입니다."라는 문장은 틀리게 됩니다.그럼 b의 문장이 참이 되도록, 문장에서 특정한 값을 바꾸게 하는 방법은 무엇이 있을까요?바로 문자열 포매팅입니다.문자열 포매팅이란 문자열안에 특정한 값을 삽입하는 방법을 말합니다.문자열 포매팅에는 숫자를 대입하거나 문자열을 대입하는 등 다양한 방법이 있습니다.하나씩 알아보도록 할게요. 1-1. 숫자 바로 대입하기 위의 ..

알고리즘 #4_ 파이썬을 통한 막대자르기(Rod cut) 시간비교

지난 포스팅에서 동적 프로그래밍(Dynamic Programming)에 대해서 알아보고 그에 대한 예제로 막대자르기(Rod Cut)에 대해서 공부하였습니다.이번 포스트에서는 막대자르기 예제에서 단순 하향식 재귀표현법과 상향식 방법을 실제로 python코드로 작성해보고 시간을 비교해보도록 하겠습니다.1. 개요 먼저 이번 포스팅에서 진행할 막대자르기문제에 대한 몇 가지 조건은 아래와 같습니다. ㄱ. P-table(price table)의 값은 임의의 단조증가 형태ㄴ. Rod의 길이 값을 4부터 N으로 변화시키면서 Brute-force방법(하향식 재귀 표현)과 DP방법(상향식 방법)으로 최적의 값과 해결 소요 시간을 비교ㄷ. 소요 시간 비교는 최종적으로 표와 그래프를 이용하여 시각적으로 표현 위의 조건들을 가..

파이썬(python) #3_ 문자열 인덱싱과 슬라이싱

안녕하세요. 오늘은 파이썬에서 문자열 인덱싱(indexing)과 슬라이싱(slicing)에 대해서 알아보겠습니다.궁금하시거나 오류에 부딪히신 분은 언제든 댓글에 남겨주시면 최대한 답변드리겠습니다 :) 1. 문자열 인덱싱(Indexing) 인덱싱이란 말이 뭘까요?인덱싱이라는 것은 무엇인가를 '가리킨다'는 의미입니다.다시 말해서 긴 문자열에서 어떤 글자나 특정 위치를 가리키는 것을 말합니다. 위의 사진과 같이 a에 저장된 'Hello, python world!!'라는 문자열에서 각 문자마다 번호를 매겨 보겠습니다. H e l l o , p y t h o n w o r l d ! ! 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 처음 시작하는 글자 H를 0이라는..

728x90