본문 바로가기
728x90

전체 글143

Unit 26. 세트(set) Set : 집합 합집합, 교집합, 차집합등의 연산을 가능케 하는 집합으로 {값1,값2,값3} 이런식ㅇ로 이루어져 있음. 출력을 할 때에는 randomly하게 출력하기 때문에, index를 지정하여 출력이 불가하고, 집합안에 중복된 것은 알아서 하나만 출력. 딕셔너리와 형태 주의하여 쓰기 >>> c = {} # 이렇게 빈 중괄호를 치면, 빈 딕셔너리가 됨. >>> type(c) >>> c = set() # 꼭 이렇게 set()이라고 지정해야 세트가됨. >>> type(c) set.union(세트1, 세트2) : 합집합 {1,2,3,4,5,6} 논리연산자 and와 같은 원리 set.intersection(세트1,세트2) : 교집합 {3,4} set.difference(세트1, 세트2) : 대칭차집합 {1,2.. 2022. 11. 28.
조별학습) 평균구하기 (딕셔너리) 내코드 타입에 걸려서 추출이 안될때에는 for문으로 꺼내와서 리스트에 넣기. ilst는 numpy.mean으로 평균이 구해짐. 2022. 11. 28.
UNIT 25. 딕셔너리 응용 1. 기본 1) 추가 .'딕셔너리명'.update(키=값) : 키가 문자열일때만! 딕셔나리 안의 키의 값을 수정하는 것. 만약 그 키 값이 없으면 자동으로 { } 안에 추가됨. .update(a=200, b=300) : 여러가지 값을 한꺼번에 업데이트 .update(딕셔너리) : 키가 문자열이 아니어서 바로 키=값을 못한다면, a = {1:'일',2:'이'} 이렇게 a 딕셔너리를 추가함. .update(리스트 or 튜플) : 리스트는 [[키1, 값1], [키2, 값2]] 형식으로 키와 값을 리스트로 만들고 이 리스트를 다시 리스트 안에 넣어서 키-값 쌍을 나열 .update(반복가능한객체) : 딕셔너리에 for문으로 키와 값을 더하고 싶을때 쓸 수 있을 것 같음. (zip([1,2],['one','two.. 2022. 11. 28.
오답노트) 간단명료 코드 만들기 1. 가장 뒤에 있는 파일명만 프린트하기 path = 'C:\\Users\\dojang\\AppData\\Local\\Programs\\Python\\Python36-32\\python.exe' filename = path.split('\\') print(filename[-1]) >>> filename = path[path.rfind('\\') + 1:] 2022. 11. 28.
조별학습) 구구단 만들기 내답안 조원들 답안 count, %d , % 사용 print(f' ') .format 사용 format 복습 '{인덱스}' .format(값) : { } 이 위치에 format 뒤의 데이터의 인덱스 값을 넣어줘. ' Let me see.. {1} {2} {0}?'. format('me', 'You', 'love') 그래서 print('{0} x {1} = ', format(i,j), i*j) '{0} x {1} = ' . format(i,j) 까지 한뭉텅이로, format 뒤에 (i,j) 인수를 넣어줌 2022. 11. 28.
참고) 함수에 대하여. 매개변수(parameter), 인자(argument), 요소(element) 의 차이점 def shopping_list(date): print(date + '의 구매목록') print(['벤츠 2대','람보르기니 1대','강남빌딩 2개']) shopping_list('1월 23일') 만약 이렇게 shopping list라는 함수를 선언한다고 가정했을 때, 매개변수 (parameter) :입력값의 자리에 들어오는 함수 내부의 'date' 인자(argument) : 외부에서 이 함수를 불러주기 위해 넣어주는 '1월 23일' 요소(element) : 리스트 안의 여러값 중 하나의 값, '벤츠 2대' 하하.. 이렇게 작성하는 날이 올꺼야! 스코프(scope) 특정 위치에서 어떤 변수에 접근할 수 있는지, 또 한.. 2022. 11. 28.
프로그래머스) 각도기 내답안 처음에 print (1) 이렇게 넣었었는데, 결과값은 맞지만 오류가 났다. 웹에서 검색해보니 파이썬은 아니지만 return으로 푸신분이 계셔서 그렇게 해봤더니 맞다고 나왔다. 다른분 답안 if angle 2022. 11. 27.
프로그래머스) 나이 출력 내답안 다른사람들은 아예 2023에서 age를 뺴고 +1을 하지 않은 경우도 있었다. 2022. 11. 27.
프로그래머스) 몫 구하기 (클래스문법 업데이트하기) 내답안 / 는 float값을 가질 수 있다는 것 주의하기. 그래서 data type을 int로 지정해줬다. 다른사람 답안을 보고있자니 // 가 생각났다. //는 나머지를 버리고 무조건 int로 반환한다. 그래서 다시한번 해봤다. 다른사람의 답안 이게 머선코드냐구.. __ 이거는 클래스 했을때 잠깐 본 거 같은데, 일단 클래스문법은 복잡하니 다음주중에 배울때 다시 업데이트 하기로 하고, floordiv는 찾아봤더니, self // value라고 한다. 그럼 지정해주지 않았는데도, num1을 self로 인식하고, num2를 value로 인식한다는 뜻인가? 희한하네,, 뭔가 고오급진 이 코드.. 숙제 시간이 얼마없으니 다음에 업데이트 꼭 하기. 2022. 11. 27.
프로그래머스) 나머지 구하기 내답안 이번에도 lambda 쓰기 lambda 좋다. 한줄에 끝나고. 뭔가 코드가 짧아질수록 고오급진 느낌이 든다 ㅋㅋ 다른사람답안 은 패쓰! 왜냐면 lambda가 제일 짧기때문.. 2022. 11. 27.
프로그래머스) 두 수의 곱 내답안 방금 배운 lambda 응용했음. 후후 다른사람 답안 다른사람들은 대부분 def 를 썼는데,, 이부분은 패쓰! 2022. 11. 27.
프로그래머스) 숫자 비교하기 내답안 답은 잘 나왔는데, 오류가 떠서,, 왜그럴까나? answer 변수를 살리니 성공 다른사람답안 return하세요 1을. 만약 num1과 num2가 같다면. 그렇지 않으면 -1 return 1 if num1==num2 else= -1 콜론 없고, 괄호도 없다는 것 유의하기. 2022. 11. 27.
프로그래머스) 두 수의 차 1. 두 수의 차 내 답안 다른사람 답안 lambda를 써서 세 줄 코드를 한 줄에 끝냈다. 그 와중에 댓글 ㅋㅋㅋ 좀치네 ㅋ 부럽 ㅋㅋ lambda 문법은 lambda a : b (a를 b로 변환하겠다) def 에 대한 정의와 요소 선언을 한 줄에 끝내다니.. 필사해보기 solution = lambda num1, num2 : num1 - num2 lambda 뒤에는 괄호쓰지 않는데, 자꾸 습관적으로 괄호를 쓰고 있음.. 고치기 2022. 11. 27.
Unit24. 문자열 함수, 포매팅, format함수, %d 1. 바꾸기 replace('바꿀문자열', '새문자열') : 단어 >> 문자열 바꾸기 str.maketrans('바꿀문자', '새문자') : 단어안의 스펠링 >> 문자열 바꾸기 .translate(변수명) : 번역. 즉 apply .upper() : 문자열을 모두 대문자로 바꿈 .lower() : 문자열을 모두 소문자로 바꿈 2. 분리하고 합체하기 .split('기준문자열') : 기준문자열을 기준으로 스트링을 분리함. '구분자'.join(리스트) : 구분자를 리스트사이에 끼워서 하나의 스트링으로 만듬 3. 삭제 .strip('삭제할것') : 왼(lstrip),오(rstrip),양쪽 다 됨 4. 정렬 .ljust(숫자) : 왼,오(rjust) 다됨. 숫자만큼 문자열의 길이를 만들어 놓고, 정렬함. .cen.. 2022. 11. 26.
Unit 22. 2차원 리스트 1. 기본문법 요소 추출 : 리스트[세로인덱스][가로인덱스] 요소 값 할당 : 리스트[세로인덱스][가로인덱스] = 값 >>> a = [[10, 20], [30, 40], [50, 60]] >>> a[2][1] # 출력 : 세로 인덱스 2, 가로 인덱스 0인 요소 60 >>> a[0][1] = 1000 # 값 할당 : 세로 인덱스 0, 가로 인덱스 1인 요소에 >>> a[0][1] 1000 2차원 리스트와 튜플 수정 가능여부 a = ((10, 20), (30, 40), (50, 60)) # 튜플 안에 튜플을 넣은 2차원 튜플 b = ([10, 20], [30, 40], [50, 60]) # 튜플 안에 리스트를 넣음 c = [(10, 20), (30, 40), (50, 60)] # 리스트 안에 튜플을 넣음 .. 2022. 11. 25.
Unit 22. List 와 Tuple / 리스트표현식(list comprehension) List [ ] : mutable sequence type (변경할 수 있는 시퀀스 자료형) Tuple ( ) : immutable sequence type (변경할 수 없는 시퀀스 자료형) method (method = 함수) 1. 기본내용 Add (list만 가능) append(요소) : element 한 개 or list 하나씩 중첩으로. 꼭 하나씩 추가 가능 extend([리스트]) : list + list = 1개의 list 로 가능. append로 일일이 못할때 유용 insert(인덱스번호,요소) : 특정인덱스에 요소 하나를 추가 insert(0, 요소): 리스트의 맨 처음에 요소를 추가 insert(len(리스트), 요소): 리스트 끝에 요소를 추가 슬라이스로도 추가가능 : 리스트 끝에 하나.. 2022. 11. 25.
참고) Stack & Queue 이 둘은 ADT로써 실물이 존재하지 않는 "상상속의 구조"이다. ADT (Abstract Data Type) : 추상적 자료구조 자료구조의 방법이 코드로 정의되지 않고 그 구조의 행동양식으로만 규정됨. array + 규칙. 서로 규칙이 다름. 1. Stack (팬케이크 무더기) Last In, First Out. stack은 무더기라는 뜻이다. 1,2,3,4,5 array를 90도로 눕여서 1을 가장 아래, 5를 가장 위로 놓는다. 가장 따끈한 팬케이크가 제일 위에 쌓이고 (Last in), 제일 빨리 먹히는 것 처럼(First out) 5번만 읽고, 삭제가능. e.g. 뒤로가기, ctr+z, 2. Queue (맛집에 줄선 사람들) First in, First Out. stack과 달리 90도 뒤집지 않.. 2022. 11. 25.
Fund 4. Github에 Git Push 하기 (Git & Github의 차이점) Git & GitHub Git : 소스코드 버전 관리 시스템 ; 개발을 진행하며 작성하는 소스 코드가 업데이트 되는 버전을 기록해두고 관리함.\ 더 쉽게 이해한 바로는 ,, 로컬(내컴터) 버전관리 툴. GitHub : 온라인 서비스 : Git으로 관리하는 프로젝트를 불러오고(hosting), 협업할 수 있게 해주는 서비스. 협업가능한 웹사이트 Git은 리눅스의 창시자 리누스 토를발즈가 만든 오픈소스 툴이다. 전세계 사람들이 동시다발적으로 리눅스를 함께 개발하고 관리하다 보니, 여러 개발자가 짠 코드를 한번에 합치고, 버전도 나눠야 했다. 그래서 리눅스 프로젝트의 코드 버전을 관리하기 위한 소프트웨어를 짰고, 그것이 Git이다. GitHub는 이런 Git을 더 잘 쓰게 도와주는 온라인 서비스다. Git을 .. 2022. 11. 25.
참고) Scalar, Vector, Matrix, Tensor 1. Scala : 단일 숫자 / 0차 텐서 / 소문자 normal n : 양의 정수 집합 (1,2,3..) z : 양,음수와 0의 집합 (...,-2,-1,0,1,2,...) q : 유리수 (z + 분수) 값 (Value)을 나타냄 2. Vector : Scala의 배열 / ordered arrays / 1차 텐서 / 소문자 Bold Scala는 값 1개만 나타낸다면, Vector는 크기와 방향, 속도와 거리, 속도와 속도차, 텍스트에서 단어간의 연관성, 이미지에서의 픽셀 집적도 (intensity) 등을 인코딩할 수 있게 함. 머신러닝에서는 feature vector라고 표현되기도 함. (Which are their individual components specifying how important .. 2022. 11. 24.
Unit 20. FizzBuzz Practice 1. 1에서 100까지 출력 3의 배수는 Fizz 출력 5의 배수는 Buzz 출력 3과 5의 공배수는 FizzBuzz 출력 My answer 1 숫자 대신 fizz와 buzz를 출력했어야 했다. Answer 2 Practice 2. 3과 5의 공배수 Answer 혹은, if i % 15 == 0: 이렇게 15로 나눴을때 나머지가 없는 값을 줘도 됨. 코드 줄이기 문자열 * 1 = True , 문자열 * 0 = False 라는 특징을 이용한 것. 중간에 +를 넣으면 공배수에 FizzBuzz라고 출력가능 Practice 3. 2과 11의 배수, 공배수 처리하기 다음 소스 코드를 완성하여 1부터 100까지의 숫자를 출력하면서 2의 배수일 때는 'Fizz', 11의 배수일 때는 'Buzz', 2.. 2022. 11. 24.
Unit 19. Star tree ; 중첩 loop Star tree output * ** *** **** ***** input 1 - ok 하지만 중첩 루프를 쓰지 않은 결과라 업데이트가 필요. input 1-1 별갯수가 j와 같게 하면 j가 1일때 별이 한개만 나올꺼라고 생각했는데, ----> 방향으로 j의 갯수만큼 별이 다 채워져버렸다. input 1-2 옆방향의 별의 갯수가 i의 갯수와 같아서 이렇게 넣었는데, 트리가 옆으로 4개나 나왔다. 옆으로 나오는 횟수를 i만큼으로 줄여야 할 것 같은데,, input 1-3 옆으로가 줄어들긴 했다. 딱 i만큼으로 줄었다. 생각이 잘못되었나보다. 횟수가 i만큼이 아니라 1만큼이어야 한다. input 1-4 Blank를 줄여야한다. input 1-5 Answer if j 2022. 11. 24.
Fund 3. Terminal(Linux OS), Hardware Computer Hardware 반도체의 제작과정을 너무 잘 보여줘서 링크! : https://www.youtube.com/watch?v=6-tKOHICqrI&t=4s CPU(Central Processing Unit, 중앙처리장치 : 반도체인 실리콘 웨이퍼 위에 집적회로(Integrated Circuits, IC)를 포토리소그래피(photolithography) 공정을 통해 회로를 인쇄해 만듬 기계어 : CPU칩이 처리할 수 있는 명령어 Compile : 우리가 쓰는 프로그래밍 언어(C, C++, Python)를 기계어로 바꿔주는 것. 제조사 : 삼성(Exynos등), 애플(A,M시리즈등), 퀄컴 등.. 구분 : 32bit, 64bit : CPU가 한번에 읽고 쓸 수 있는 데이터의 크기. 프로세스 할당.. 2022. 11. 24.
11/24 블로그의 시작 나는 개발자가 되어야했다. 중국에 있으며 내가 본 세상은 숨이 가빴다. 발에 치이는게 IT 기업들이었고, 하루가 다르게 새로운 서비스가 나왔다 들어갔다. IT 강국이라는 우리나라는 글로벌 기업으로 삼성을 외치지만 우린 정말.. 정말 삼성밖에 없어보였다. 삼성은 대단한 기업이고, 나 또한 삼성이 자랑스럽지만 우리나라는 중국이 기업에게 해주는 만큼의 서포트가 불가했다. 다행인건, 중국은 자본이 커도 기술력은 한국이 월등하다. 어떤 제품이든 그렇다. 하지만 머릿수가 부족하다. 그것도 턱없이.. 천재는 하늘이 내린다지만, 확률적으로 중국에 천재가 더 많을 듯 하지 않은가. 중국의 IT 공룡이라는 알리바바와 텐센트를 직접 써보며 이렇게는 안되는데,, 네이버 써야 되는데, 카톡 써야 되는데.. 이마저도 vpn을 켜.. 2022. 11. 24.
728x90