일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 | 31 |
- python
- SQL 고득점 Kit
- 파이썬
- 파이썬 슬라이싱
- 설계
- GIT
- 아이엠어바텐더
- 백준
- YOLOv5
- count
- ORDER BY
- 슬라이싱
- Join
- 코딩테스트 연습
- map
- 파이썬 몫
- Len
- 데이터
- 프로그래머스
- 단어 공부
- pcce 기출문제
- Django
- 프로젝트
- css
- html
- date_format
- List Comprehension
- where
- Python3
- sql
- Today
- Total
목록Python (115)
nan + nan = 2nan
정확히 해당 문제에 대해서 용어를 뭐라고 써야할지 모르겠지만, 우선적으로 Pillow 라이브러리를 이용해 반복문으로 프레임 별 이미지를 생성했다. 이 때, 파일명은 num = 0 file_list = [] for img in image_name: file_list.append(f'{img}_{num}') num += 1 test_1.jpg , test_2.jpg 이런 식으로 파일명을 생성했었다. 하지만, 이런 식으로 파일을 생성한 후 다시 해당 폴더 경로에서 순차적으로 불러 들여 읽어 OpenCV의 VideoWriter 기능을 이용해 image를 동영상으로 만드는 과정에서 문제가 생겼다. 처음에는 해당 라이브러리에 문제가 있어 화면에서 튀는 현상이 존재하나? 라는 의문이 들었는데 동영상을 분석하면서 중간..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/Kx9BV/btreoTzZLSt/hdmVD4lr0o4MHSRFqAzn4K/img.png)
코드 입력 def solve(a): ans = 0 for i in a: ans += i return ans 갑자기 안 쓰던 함수를 오랜만에 써보려고 하니 머리가 아팠다. 장고 블로그 만들 때, views.py 안에 def 함수를 이용해서 옮겨 붙일 때 많이 접했는데, 강의 들었던 기억이 잘 기억이 나진 않는 것 같았다.. 그래서 살짝 쫄았는데, 문제 자체는 가벼웠다. 나는 단계별 문제라서 뒤로 갈수록 어렵기 때문에 무엇을 꼬아놓았을까 이것저것 살펴보고 jupyter lab으로 막 돌려봐도 def 함수를 사용하니 답이 안 나왔다. 이유는 잘 모르겠다.. 답답해서 그냥 백준 들어가서 제출을 누르니 def solve(a): ans = 0 return ans 해당 형태를 기본적으로 제공했다. 그래서 그냥 안에 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bzi3p6/btrdJkznhnM/hLG9tVdMAVlfNbI7P5MFGk/img.png)
이전 파이썬 강의 때 짧게 크롤링을 경험해본 적이 있다. 그렇지만 촉박한 강의 일정과 프로젝트로 인해 3주 전 기억이 삭제되었다.. 평소 이 교육을 듣지 않을 때에도, 크롤링을 시도해 본 적이 있다. 취업 준비를 하면서 내 입맛에 맞는 경제 기사들을 따로 모아서 보고 싶었는데, 언어를 잘 알지 못하다보니, 어려운 부분이 많았다.. 지금도 조금 어렵긴 하지만, 기술을 익혀놔서 내 입맛에 맞는 정보들을 내 스스로 모을 수 있는 능력을 키우고 싶다! 우선 Selenium과 BeautifulSoup 크게 두 가지의 프레임워크를 배웠다. 그중 멜론은 두 가지 다 이용 할 예정이다. html의 요소들을 호출하는 방법은 request를 이용해서 직접 url을 호출하는 방법과 Selenium으로 경로를 지정해줘서 직접..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bb2CRz/btrb82zaesV/pKXXKSfXhs5dhxabYDEEa0/img.png)
코드 입력 ##### float 사용하는데, 소수점 셋째 자리까지 출력하는 방법을 생각해봐야 한다. N = int(input()) for i in range(N): score = list(map(int, input().split())) avgsum = sum(score[1:]) / len(score[1:]) cnt = 0 # for i in score[1:]: # float 인 avgsum 과 list인 score[1:]을 비교할 방법. if i > avgsum: cnt += 1 # else: # cnt = 1 rate = cnt / score[0] * 100 print(f'{rate:.3f}%') 이전에 풀었던 OX문제와 비슷한 양상이다. 처음에 입력할 학생 수를 int(input())으로 출력한다. ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/KaTRN/btrb2bvPxC0/SpsgnVfwvNQBGlQPZcaWa0/img.png)
코드 입력 N = int(input()) # O가 연속한 개수에 따라 출력값을 설정 # ex) O 1개 = 1 , 2개 = 1 + 2, 3개 = 1 + 2 + 3 for i in range(N): answer = list(input()) sum = 0 pls = 1 for i in answer: if i == 'O': sum += pls pls += 1 else: pls = 1 print(sum) 식에 대한 구상은 머릿속에 세워놨는데, 이걸 어떻게 구현할지 의문이어서 타 블로그를 보고 참조해봤다. 항상 답변 개수를 입력하고 사용하지 않아 N을 받아 반복문으로 돌려주고, 그 안에서 answer라는 입력값을 받을 리스트를 만들어줬다. 그리고 각 값들을 다 넣어줄 sum과 개별 연속 문자의 합 'O'를 넣어줄..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/MJRtl/btrb0pVR9rz/RjiP0NPRkpV13RoubNCLO1/img.png)
코드 입력 N = int(input()) score = list( map( int, input().split() ) ) M_score = max(score) result = [] for i in score: result.append( i / M_score * 100 ) print(sum(result) / len(result)) 일단 문제부터 길다.. 과목 수는 사실상 보여주기 같다. 따로 사용할 일이 없고, score를 map과 int를 사용해 입력을 받고, list 형태로 감싸준다. 그리고 최대값을 max()를 이용해 미리 구해놓고, 새로운 값들을 입력할 list인 result를 생성한다. 그리고 for 반복문을 통해 score 내 점수들을 반복해서 해당 식에 적용시킬 수 있게 append를 사용한다...
백준 알고리즘 연습을 하면서 map 함수를 많이 사용하였는데, 해당 함수의 역할이나 느낌을 아직 정확히 알지 못 해서 다시 정리하기로 했다. O Map의 정의 - map은 리스트의 요소를 지정된 함수로 처리해주는 함수이며 원본 리스트를 변경하지 않고 새 리스트를 생성하는 특징을 가지고 있다. 이를 List에 적용하는 간단한 예를 보자. a = [1.2, 2.5, 3.7, 4.6] for i in range(len(a)): a[i] = int(a[i]) print (a) > [1, 2, 3, 4] 우선 for 에 range[len(a)]를 사용해 인덱스를 가져왔고, 가져온 인덱스로 각 요소에 접근해 int로 변환하여 다시 저장했다. 이는 사실 좀 번거로운 편이다. 이럴 때, map을 사용한다면..? A =..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/YQFeP/btrbOJ8TJcj/djiqLPf2u2aY8vLpVgBAyK/img.png)
코드 입력 # 10개 다른 수 입력 # 연산 값 중 서로 다른 값이 몇 개 있는지 출력 a = int(input()) % 42 b = int(input()) % 42 c = int(input()) % 42 d = int(input()) % 42 e = int(input()) % 42 f = int(input()) % 42 g = int(input()) % 42 h = int(input()) % 42 i = int(input()) % 42 j = int(input()) % 42 n_li = [a,b,c,d,e,f,g,h,i,j] set1 = set(n_li) n_list = list(set1) size = len(n_list) print(size) 뭔가 간소화할 수 있는 방법이 있겠지만, 아직 내 역량 부..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bBnXbi/btrbOOWf9Sg/k2pRj69iEJRKiMm5S4TG6K/img.png)
코드 입력 a = int(input()) b = int(input()) c = int(input()) t = list(str(a*b*c)) for i in range(10): print(t.count(str(i))) 상당히 나에겐 난이도 있는 문제였다. 특히 아직도 list와 str, int 개념에 대해 헷갈려하는 나에게 30분 이상을 소모하게 한 문제.. 처음 a,b,c를 각각 입력받고 입력받은 수들의 곱을 문자열로 치환한 다음, 다시 리스트로 묶어준다. 그렇게 되면 처음 곱한 수들이 문자열로 묶이고, 리스트에 넣으면서 각 자리 수마다 문자열로 인식이 되어 리스트에 저장이 된다. 그럼 이제 for문을 사용해 0 ~ 9까지의 i를 만들어주고, count라는 함수를 이용해 문자열로 치환한 i가 리스트의 각..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/ccxf6Z/btrbW2S7KWq/6yas9HIClkK0aAKhOBwrak/img.png)
코드 입력 n_li = [ ] for i in range(1, 10): n_li.append( int( input() ) ) print(max(n_li)) print( n_li.index( max( n_li )) + 1 ) index 접근 했는데,. list에 대한 개념이 너무 부족하다. n.li라는 리스트 변수를 만들고, for문을 활용해서 9번 반복하는 알고리즘을 만든다. 그 다음, int(input())을 리스트에 append 해주는 방식. 나는 처음부터 list ( map ( int ... 이런 식에 꽂혀서 오류가 너무 많이 발생했다. 무튼 그렇게 max값은 자연스레 만들어주고, index라는 위치 반환 함수를 이용해 위치를 표현한다. 단, 0부터 시작하기 때문에 index값에 1을 더해준다. 조..