python 79

[프로그래머스 | 파이썬3] 모의고사_enumerate, zip 활용

https://programmers.co.kr/learn/courses/30/lessons/42840 코딩테스트 연습 - 모의고사 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 programmers.co.kr 리스트의 요소들의 인덱스와 값을 돌려주는 enumerate함수와 리스트와 리스트를 차례대로 튜플형태로 붙여 돌려주는 zip함수를 사용하여 풀었다. def solution(answers): # 1,2,3번의 답안 유형을 answers 길이에 각자 리스트(패턴)의 길이로 나눈 값만큼 반복하여 리스트 생성 # 답안 길이가 각 리스트의 길이보다 작을 경우, 0번 반복될..

[프로그래머스 | 파이썬3] 체육복_ set, pop 사용

https://programmers.co.kr/learn/courses/30/lessons/42862 코딩테스트 연습 - 체육복 점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번 programmers.co.kr 체육복을 도난당한 경우, 즉 같은 번호가 reserve에도 있고 lost에도 있는 경우까지 고려하는 것이 까다로웠던 문제였다. 나는 차집합 개념과 pop함수를 활용하여 문제를 풀었다. 1. 첫번째 시도: 오답 처음엔 위의 경우를 고려하지 않고 작성하였다. 이렇게 코드를 작성할 경우 test에서 3개의 문항이 오답인 것으로 나온다. pop함수를 사용하여 lost의 ..

[프로그래머스 | python3] K번째 수_ sort() 사용

programmers.co.kr/learn/courses/30/lessons/42748/solution_groups?language=python3 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 이번 문제는 한번에 풀었지만 코드를 더 간략하게 만드는 연습을 해야할 것 같다. for문을 사용하여 문제를 풀어보았지만, lambda함수를 사용하면 더 간결하게 해결할 수 있을 것으로 보인다. > 작성 답안 def solution(array, commands): resultLst=[] for i in range(len(commands)): arr= array[com..

[프로그래머스 | python3] 완주하지 못한 선수

programmers.co.kr/learn/courses/30/lessons/42576 코딩테스트 연습 - 완주하지 못한 선수 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수 programmers.co.kr 1. 첫번째 시도 def solution(participant, completion): pset= set(participant) cset= set(completion) if pset == cset: return [i for i in pset if participant.count(i)>=2][0] else: return list(pset- cset)[0] -..

[프로그래머스 | python3] 폰켓몬

코딩테스트 연습 - 폰켓몬 당신은 폰켓몬을 잡기 위한 오랜 여행 끝에, 홍 박사님의 연구실에 도착했습니다. 홍 박사님은 당신에게 자신의 연구실에 있는 총 N 마리의 폰켓몬 중에서 N/2마리를 가져가도 좋다고 했습니다. programmers.co.kr 오늘의 교훈: 최대한 간단하게 생각하자! 1. 첫번째 시도: 폰켓몬의 combinations를 만들어서 각 조합의 unique value를 세어 리스트로 만들어 준 뒤, max값을 추출하는 방식을 시도해보았다. 조합을 만들기 위해 itertools패키지의 combinations 함수를 사용했다. from itertools import combinations def solution(nums): iterNum= int(len(nums)/2) lst= list(c..

<정규표현식>자주 사용되는 정규표현식 정리, re.findall과 re.search의 차이

포스트는 edwith강좌 모두를 위한 파이썬 강의를 수강하며 보충 학습한 글입니다. 정규식은 축약된 언어의 한 종류로, 기호로 되어있기 때문에 굉장히 효율적으로 데이터를 뽑거나 찾을 수 있다. 이번 포스팅을 통해 정규식을 정리해보고자 한다. ▶정규식을 사용하기 위해선. . . 우선 import re 명령어를 통해 정규식라이브러리를 불러와야한다. 라이브러리엔 많은 메소드가 있지만, 이 포스팅에선 자주 사용되는 search와 findall메소드를 우선 정리해보고자한다. ▶re.search re.search 메소드는 find()메소드처럼 정규식에 매칭되는 문자열들을 찾을 수 있도록 해준다. 이러한 데이터를 가진 텍스트파일에서 From을 포함한 문자열을 뽑고 싶을 때, find()매서드를 사용하면 코드는 다음과..

python/기타 2021.04.02

[백준2577] 숫자의개수/ 문자열 하나하나 받아오기/ python

www.acmicpc.net/problem/2577 2577번: 숫자의 개수 첫째 줄에 A, 둘째 줄에 B, 셋째 줄에 C가 주어진다. A, B, C는 모두 100보다 같거나 크고, 1,000보다 작은 자연수이다. www.acmicpc.net 1차원 배열을 이용한 문제다. ▶입력값을 stdin으로 받아올까했으나, 반복문을 3번 돌리며 바로바로 곱셈연산을 수행하는 것이 연산량을 줄일 수 있지 않을까 하여 반복문 for와 input을 사용했다. 우선 코드와 결과는 다음과 같다. ## 2577 import sys a=1 for i in range(0,3): a*=int(input()) lst= list(str(a)) for i in range(0,10): print(lst.count(str(i))) 곱셈 결과..

[백준2562]최댓값/ read와 readlines의 차이/ python

1차원 배열을 이용한 문제다. ▶이번 문제는 두가지 방식으로 풀어보았다. 첫번째는 내가 자주 사용했던 for문과 input함수를 사용한 방식이다. lst=[] for i in range(0,9): lst.append(int(input())) print(max(lst),lst.index(max(lst))+1, sep='\n') # list.index(val): list배열에서 val원소의 위치를 반환하는 함수 결과는, 역시 이전글에서 언급했듯이 for문과 input을 이용한 코드는 속도도 느리고 코드도 길다. 그래서 전의 문제를 풀면서 알게된 sys.stdin을 해당 문제에서 사용해보고자 했다. 그렇게 작성한 두번째 코드는 다음과 같다. import sys lst= list(map(int,sys.stdin..

첫번째기록- [백준10818] 최소, 최대/ sys.stdin / python

▶문제풀이 1차원 배열을 이용한 문제이다. 처음에는 numpy를 사용해 문제를 풀고자 했는데, 다음과 같은 에러가 떴다. 로컬환경에서 채점되는 것이기 때문에 파이썬 외부 라이브러리는 사용할 수 없다고 한다. 그래서 그냥 리스트 배열을 사용해 문제를 풀었다. num_limit= int(input()) lst= list(map(int,input().split())) lst=lst[0:num_limit] print(min(lst), max(lst), sep=' ') 먼저 input으로 입력받을 수들의 개수를 받아온다. 그 후 공백을 기준으로 개수만큼 값을 받아와야한다. 더 많은 수를 입력했을 때를 대비하여, 앞에서부터 해당 개수까지 입력한 값들만을 추출하여 다시 'lst'에 넣어주었다. 그리고 해당 배열에 대..