본문 바로가기

Codingding

(76)
그리디 알고리즘(Greedy)과 구현(Implementation) (2) 구현(Implementation) - 머리 속에 있는 알고리즘을 소스코드로 바꾸는 과정 - 풀이는 쉽지만 소스코드로 옮기기 어려운 문제를 의미 구현하기 어려운 문제 1 ) 알고리즘은 간단한데 코드가 지나칠 만큼 길어지는 문제 2 ) 특정 소수점 자리까지 출력해야 하는 문제 3 ) 문자열이 입력으로 주어졌을 때 한 문자 단위로 끊어서 리스트에 넣어야 하는(파싱해야 하는) 문제 완전탐색과 시뮬레이션 - 완전탐색 : 모든 경우의 수를 주저 없이 다 계산하는 해결 방법 - 시뮬레이션 : 문제에서 제시한 알고리즘을 한 단계씩 차례대로 수행 문제 1 ) 상하좌우 n = int(input()) directions = list(input().split()) direction = ['R', 'L', 'U', 'D'] d..
[Python] 유니코드 활용하여 문자열을 숫자로 변환하기 chr( ) 함수 - 숫자를 문자열로 반환 - chr(숫자) 형태 - 97을 입력하면 'a' 출력 ord( ) 함수 - 문자열을 입력하면 해당 문자열과 같은 유니코드 정수 반환 - 'a' 입력하면 97 반환 알파벳 - 숫자 유니코드 - 알파벳은 총 26개 - 'a' 유니코드는 97 - 'A' 유니코드는 65 A 65 a 97 B 66 b 98 C 67 c 99 D 68 d 100 E 69 e 101 F 70 f 102 G 71 g 103 H 72 h 104 I 73 i 105 J 74 j 106 K 75 k 107 L 76 l 108 M 77 m 109 N 78 n 110 O 79 o 111 P 80 p 112 Q 81 q 113 R 82 r 114 S 83 s 115 T 84 t 116 U 85 u 1..
[정보보호] 떠오르고 있는 보안 이슈, 마이데이터(MyData) 마이데이터(MyData) - 데이터의 사회. 경제적 가치가 커짐에 따라, 데이터 주체인 개인의 권리 강화와 데이터 경제 활성화를 위해 금융분야를 중심으로 마이데이터(MyData)를 도입하고 있다. - 마이데이터(MyData)란 은행 계좌, 신용카드 내역 등의 금융 데이터의 주인은 금융사가 아닌 개인이며, 개인의 동의 하에 여러 금융사에 흩어진 금융 내역을 통합 관리할 수 있는 방안을 토대로 진행되는 사업을 의미하다. - 즉, 정보주체(개인)의 자기정보 결정권으로, 개인 데이터의 활용. 관리에 대한 통제권을 개인이 가지게 된다. - 따라서 마이데이터 사업이 진행되면 모든 금융 정보를 한 곳에서 확인할 수 있고, 나의 신용. 자산 분석이 가능해지게 된다. 그리고 맞춤형 금융 상품을 제공받을 수 있다. 우리나..
[LikeLions] 멋쟁이사자처럼 10기 합격 및 학교 OT 작년 우리 학교 멋사가 없어졌다는 소식을 듣고 엄청 아쉬웠는데 이번 10기에 서울여대 멋사가 다시 생겨서 바로 지원했어요. 저는 4학년 전공자이지만 웹 개발에 있어서 부족함이 많고 멋사를 통해 다양한 프로젝트 경험을 쌓고 싶었어요. 저는 프론트엔드 파트를 지원했습니다. 먼저, 서류에서는 제가 그동안 진행했던 (동아리, 학회, 해커톤 등) 프로젝트와 그 속에서 배운점들을 솔직하게 작성했어요. 제발 되라되라 간절하게 바랬는데 1차 서류 전형 합격! 운 좋게 1차 서류 전형에 합격해서 바로 면접 준비했습니다. 오랜만에 면접 보려니까 엄청 떨리더라구요. 면접은 다 대 다로 진행되었고, 공통질문과 개별질문 순으로 진행되었어요. 면접을 준비해 갔는데도 머리속이 백지상태.. 말도 계속 횡설수설.. 망했다 싶었습니다...
그리디 알고리즘(Greedy)과 구현(Implementation) (1) 그리디 알고리즘(탐욕법) - 현재 상황에서 지금 당장 좋은 것만 고르는 방법을 의미 - 최적의 해를 구할 수 있는지 검토 - 탐욕법으로 얻은 해가 최적의 해가 되는 상황에서, 이를 추론할 수 있어야 문제를 풀 수 있음 문제 1 ) 거스름 돈 문제해결 방법 - 최적의 해를 빠르게 구하기 위해선 가장 큰 화폐 단위부터 돈을 거슬러 주면 됨 - N원을 거슬러 줘야 할 때, 가장 먼저 500원으로 거슬러 줄 수 있을 만큼 거슬러 줌 이후, 100원, 50원, 10원을 차례대로 거슬러 줌 * 정당성 분석 가장 큰 화폐 단위부터 돈을 거슬러 주는 것이 최적의 해를 보장하는 이유 - 가지고 있는 동전 중에서 큰 단위가 항상 작은 단위의 배수이므로 작은 단위의 동전들을 종합해 다른 해가 나올 수 없음 if ) 800원..
알고리즘 기초 및 파이썬 기초 문법(6) - 함수와 람다 표현식, 표준 라이브러리 함수 - 함수(Function)란 특정한 작업을 하나의 단위로 묶어 놓은 것 - 불필요한 소스코드의 반복을 줄일 수 있음 - 내장 함수 : 파이썬이 기본적으로 제공하는 함수 - 사용자 정의 함수 : 개발자가 직접 정의하여 사용할 수 있는 함수 1. 함수 정의하기 - 매개변수 : 함수 내부에서 사용할 변수 - 반환 값 : 함수에서 처리 된 결과를 반환 # 더하기 함수 1 def add(a, b): return a + b print(add(3, 7)) # 10 # 더하기 함수 2 def add(a, b): print('함수의 결과:', a + b) add(3, 7) # 함수의 결과: 10 + ) 여러 개의 반환 값 - 파이썬에서 함수는 여러 개의 반환 값을 가질 수 있음 def operator(a, b): ..
알고리즘 기초 및 파이썬 기초 문법(5) - 입출력, 조건문과 반복문 기본 입출력 1. 입력 - input( ) 함수 : 한 줄의 문자열을 입력 받는 함수 - map( ) 함수 : 리스트의 모든 원소에 각각 특정한 함수를 적용할 때 사용 공백을 기준으로 구분된 데이터를 입력 받을 때 - list(map(int, input( ).split( ))) 공백을 기준으로 구분된 데이터의 개수가 많지 않을 때 - a, b, c = map(int, input( ).split( )) # 데이터의 개수 입력 n = int(input()) # 각 데이터를 공백을 기준으로 구분하여 입력 data = list(map(int, input().split())) + ) 입력을 빠르게 받는 법 - sys 라이브러리에 정의되어 있는 sys.stdin.realine( ) 메서드를 이용 - 단, 입력 후 ..
알고리즘 기초 및 파이썬 기초 문법(4) - 사전, 집합 자료형 사전 자료형 - 키(Key)와 값(Value)의 쌍을 데이터로 가지는 자료형 - 값을 순차적으로 저장하는 리스트와 튜플(인텍스 이용)과 대비 - 원하는 '변형 불가능한(Immutable) 자료형'을 키로 사용 가능 - 해시 테이블(Hash Table)을 이용, 데이터의 조회 및 수정에 있어서 O(1)의 시간에 처리 가능 1. 사전 초기화 data = dict() data['사과'] = 'Apple' data['바나나'] = 'Banana' print(data) # {'사과': 'Apple', '바나나': 'Banana'} 2. 사전 자료형 관련 메서드 keys( ) 함수 : 키 데이터만 뽑아서 리스트로 이용 values( ) 함수 : 값 데이터만을 뽑아서 리스트로 이용 data = dict() data[..