본문 바로가기
반응형

알고리즘49

[TIL] : 65 일일 배움을 위한 Today I Learned ! 생각정리 생각정리 카테고리의 첫 글을 작성했다. 방학 떄 어떻게 조금 더 잘 남은 시간을 보낼 수 있을까 고민하면서 스터디를 결성하게 되었는데 그에 관한 내용을 작성해 봤다. 2021.12.30 - [발전소/생각정리] - [생각정리] : 알차게 방학을 보내는 방법에 대해서.. 파이썬 알고리즘 문제풀이 파이썬 알고리즘 두 문제를 풀었다. 간단하게 스왑하는 방법도 공부하게 되었다. 2021.12.30 - [Algorithm/파이썬 알고리즘 문제풀이 (코딩테스트대비)] - [파이썬 알고리즘 문제풀이] : 카드 역배치(정올 기출) 2021.12.30 - [Algorithm/파이썬 알고리즘 문제풀이 (코딩테스트대비)] - [파이썬 알고리즘 문제풀이] : 두 리스트.. 2021. 12. 30.
[파이썬 알고리즘 문제풀이] : 두 리스트 합치기 문제 오름차순으로 정렬이 된 리스트가 주어지고 두 리스트를 그대로 합쳐 오름차순이 정렬된 형태로 출력한다. 주의 풀이 n = int(input()) a = list(map(int, input().split())) m = int(input()) b = list(map(int, input().split())) p1 = p2 = 0 c = [] while p1 < n and p2 < m: # 오름 차순으로 정렬하기 위해 하나씩 값을 비교한다. if a[p1] 2021. 12. 30.
[파이썬 알고리즘 문제풀이] : 카드 역배치(정올 기출) 문제 1부터 20까지 오름차순 정렬 된 카드가 주어지고 주어지는 두 수의 범위 내 카드들을 역으로 배치해준다. 주의 풀이 #a, b = map(int, input().split()) # 스왑하는 방법이다. # a, b = b, a # print(a, b) a = list(range(21)) #_를 통해 변수 없이 반복을 하게 된다. => 시간이 좀 더 단축하게 된다. for _ in range(10): s, e = map(int, input().split()) # +1을 더해줘서 반복하는 수를 맞춰준다. for i in range((e-s+1)//2): # 스왑을 해준다. a[s+i], a[e-i] = a[e-i], a[s+i] a.pop(0) for x in a: print(x, end=' ') 2021. 12. 30.
[TIL] : 64 일일 배움을 위한 Today I Learned ! 강연 및 세미나 OKKY에서 주최한 박종천님 머신러닝 및 데이터 관련 내용의 세미나에 참석하여 강연을 들었다. 너무 좋은 내용이었고 후기도 남겼다. 아래 글을 참고하면 된다. 2021.12.29 - [발전소/강연 및 세미나] - [강연 및 세미나] : 모두를 위한 ML / Data, ML, Service, and Platform 알고리즘 파이썬 알고리즘 한 문제를 풀었다. 새로 알게되는 함수가 있었고 전에 했던 내용을 활용해서 그렇게 어려운 난이도는 아니었다. 2021.12.29 - [Algorithm/파이썬 알고리즘 문제풀이 (코딩테스트대비)] - [파이썬 알고리즘 문제풀이] : 숫자만 추출 파이썬 머신러닝 책을 오늘도 공부했다. 짧았지만 앞으로 조금 .. 2021. 12. 29.
[파이썬 알고리즘 문제풀이] : 숫자만 추출 문제 문자, 숫자가 섞인 문자열을 입력받고 숫자만 추출해 자연수로 만들어 약수를 출력해 준다. 주의 풀이 s = input() # 누적을 위한 전역변수 res = 0 for x in s: # isdecimal은 0부터 9까지만 찾아준다. # isdigit은 제곱까지 다 찾아준다. if x.isdecimal(): res = res*10+int(x) print(res) cnt = 0 for i in range(1, res+1): if res%i==0: cnt += 1 print(cnt) 2021. 12. 29.
[TIL] : 63 일일 배움을 위한 Today I Learned ! 파이썬 파이썬 머신러닝 책을 오늘도 공부했다. 이 책 앞 부분은 데이터 분석 파트를 다루고 있는데 지금 내가 하고 있는 프로젝트에 매우 도움이 된다. 2021.12.28 - [프로그래밍언어/Python] - [Python] : [파이썬 머신러닝 실무 테크닉 100] : 마스터 데이터를 조인하자 2021.12.28 - [프로그래밍언어/Python] - [Python] : [파이썬 머신러닝 실무 테크닉 100] : 마스터가 존재하지 않는 코드에 이름을 설정하자 알고리즘 오늘 파이썬으로 알고리즘을 풀었다. 2문제 풀었고 강의를 참고해 가면서 풀었다. 혼자 머리잡고 오래 고민하는 것도 좋지만 일단 파이썬에 그렇게 익숙한 상태가 아니기 때문에 강의를 먼저보고 풀어.. 2021. 12. 28.
[파이썬 알고리즘 문제풀이] : 회문 문자열 검사 문제 문자열을 입력 받고, 회문 문자열 검사를 한다. 단, 대소문자 구분을 하지 않는다. 주의 파이썬 특징을 살리는 코드로 간단하게 작성할 수도 있으나 가능하면 풀어서 쓰는 게 좋다. 풀이 n = int(input()) for i in range(n): s = input() # s를 대문자화 시켜준다. s = s.upper() ############ 풀어서 쓴 코드 이 코드로 이해하는 게 좋다. #################### #s열의 길이를 구해준다. size = len(s) # 처음과 끝, 짝지어 비교하면 되므로 나누기 2를 해준 수 만큼 비교해 준다. for j in range(size//2): # 맨 뒤에서 리스트에 접근할 때 -1이 먼저인데 j는 0이라 -1-j를 해준다. if s[j] !.. 2021. 12. 28.
[파이썬 알고리즘 문제풀이] : 점수계산 문제 문제 수가 주어지고, 문제를 맞추면 처음엔 1 그 다음은 2 그 다음은 3..이렇게 1씩 증가하며 점수가 누적된다. 중간에 문제가 틀리면 다시 1점이 쌓이게 된다. 주의 풀이 n = int(input()) a = list(map(int, input().split())) # 점수를 합해야 한다. sum = 0 # 가중치 cnt = 0 # 리스트 a에서 첫 번째 인덱스 값부터 끝까지 하나씩 뺴준다. for x in a: # x가 1이랑 같다면 == 점수가 1점일 때 if x == 1: # 연속으로 정답을 맞추면 1씩 증가된 값을 더해야 하기 때문에 cnt에 가중치를 준다. cnt += 1 # 가중치 값을 sum(합계)에 담아준다. sum += cnt # x가 1이 아닐 때 == 정답이 아닐 때 else.. 2021. 12. 28.
[TIL] : 58 일일 배움을 위한 Today I Learned ! 소경관 프로젝트 진행 중 교수님의 요구 사항이 들어와서 데이터 베이스 관련해서 변경하고 있다. 일단 NoSQL 기반으로 해야 하기 때문에 Ubuntu에 MongoDB를 설치하고 어떻게 바꿔줘야 할지 생각을 하고 있다. 2021.12.23 - [Project/소경관] - [소경관] : 프로젝트 진행 중 요구 사항 발생 ! 2021.12.23 - [Project/소경관] - [소경관] : Ubuntu 18.04.05에 MongoDB 설치 Python 커뮤니티에 리뷰 이벤트로 받은 머신러닝 관련 책 내용이 너무 좋아서 오늘 출판사에 이메일을 보내 저작권 관련 블로그 포스팅 문의를 넣어 답을 받았다. 앞으로 파이썬 데이터 분석 머신 러닝에 대한 공부도 조금씩 해.. 2021. 12. 23.
[TIL] : 56 일일 배움을 위한 Today I Learned ! 알고리즘 자바로 어려웠던 소수 구하기를 파이썬으로 간단하게 해냈다. 에라토스테네스의 체를 사용하여 소수 구하기를 할 수 있다. 2021.12.21 - [Algorithm/파이썬 알고리즘 문제풀이 (코딩테스트대비)] - [파이썬 알고리즘 문제풀이] : 소수 구하기 (에라토스테네스의 체) 회고 드디어 21년 진행한 마지막 프로젝트 회고를 마쳤다. 정리하면서 쓰지 않고 바로 끊임없이 쓰려고 했다. 딱 그 과거의 장면을 떠올릴 때 느끼는 그 느낌을 경험에 싣고 싶었다. 오늘 커뮤니티 두 곳에 회고를 올렸는데 500분 넘게 봐주셨다. 그 중 누군가에게 도움이 된 회고가 되었다면 만족한다. 2021.12.21 - [회고] - [회고] : 파스타 공모전 회고 커뮤니티.. 2021. 12. 21.
[TIL] : 55 일일 배움을 위한 Today I Learned ! 소경관 프로젝트 진도 좀 나가봤다. 비밀번호를 암호화 하기 위해 단방향 해시 알고리즘인 SHA-256 암호화 알고리즘과 그 외 이메일 주소 같은 부분을 암호화 하기 위해 양방향 암,복호화 알고리즘은 AES128-CBC 암,복호화 알고리즘을 구현하고 테스트해서 통과시켰다. 2021.12.20 - [Project/소경관] - [소경관] : SHA-256 암호화 알고리즘, AES128-CBC암,복호화 알고리즘 적용 오류 노트 소경관 프로젝트를 진행하면서 테스트 코드를 작성하고 있었는데 Run 실행이 안 되는 오류가 터졌다. 구글링하여 고치고 방법을 기록했다. ' 2021.12.20 - [컴퓨터 공부/오류 노트] - [오류 노트] : 오류: 기본 클래스 poly.. 2021. 12. 20.
[TIL] : 52 일일 배움을 위한 Today I Learned ! 소경관 소경관 프로젝트 데이터 모델링을 하고 컨펌 받기 위해 대기중입니다. 그 동안 mysql을 스프링과 연결하는 작업을 일부분 진행했고 기록해 뒀습니다. 2021.12.17 - [Project/소경관] - [소경관] : Spring Framework에 Mysql 연결 정보처리기사 정보처리기사가 시간 낭비다. 필요가 없다 이런 말이 많은데 CS지식을 공부하는 겸으로 하고 있습니다. 어쨌던 공부를 하면서 알게되는 부분이 확실하게 있고 저한텐 필요한 지식인 것 같아 만족하면서 공부하고 있습니다. 2021.12.17 - [자격증/정보처리기사] - [정보처리기사] : 현행 시스템 파악 2021.12.17 - [자격증/정보처리기사] - [정보처리기사] : 디자인 .. 2021. 12. 17.
[TIL] : 51 일일 배움을 위한 Today I Learned ! 알고리즘 파이썬으로 백준과 인프런 알고리즘을 풀었습니다. 백준은 기초를 하고 있고 인프런은 조금 더 어려운 문제를 해설과 같이 풀어가고 있습니다. 2021.12.16 - [Algorithm/백준] - [백준] : 2438 Python, 파이썬 풀이 2021.12.16 - [Algorithm/백준] - [백준] : 10871 Python, 파이썬 풀이 2021.12.16 - [Algorithm/파이썬 알고리즘 문제풀이 (코딩테스트대비)] - [파이썬 알고리즘 문제풀이] : 정다면체 소경관 아직 데이터 모델링을 끝내지 못 했습니다. 처음 보다는 완성되가고 있는 모습입니다. 2021.12.16 - [Project/소경관] - [소경관] : 데이터 모델링 작업하.. 2021. 12. 16.
[파이썬 알고리즘 문제풀이] : 정다면체 문제 두 값을 더해서 나오는 합 중 가장 많이 나오는 합의 숫자를 출력하시오. 주의 풀이 # 정다면체 import sys n, m = map(int, input().split()) # n과 m의 합의 값을 담아둘 리스트를 만들고 크기를 n과 m을 더하고 좀 여유있게 3만큼 추가한 크기를 주었습니다. cnt = [0]*(n+m+3) # 정수 자료형 최소값을 넣어줍니다. max=-2147000000 for i in range(1, n+1): for j in range(1, m+1): # cnt에 n과m의 합을 인덱스 넘버로 설정하고 값은 합이 같을 때 1씩 증가시켜 줍니다. cnt[i+j] += 1 # 최대 값을 찾기 위해 max에 누적시켜줍니다. for i in range(n+m+1): if cnt[i]>.. 2021. 12. 16.
[백준] : 2438 Python, 파이썬 풀이 문제 주의 풀이 n = int(input()) for i in range(1, (n+1)): print("*" * i) for문에 1부터 시작해서 n+1까지 반복을 시킬 수도 있고 n = int(input()) for i in range(n): print((i+1) * "*") n까지만 반복하고 출력문에서 +1을 해줄 수도 있습니다. for문을 두 개 사용해서 만들 수도 있지만 이렇게 하는게 좀 더 간편합니다. 2021. 12. 16.
[TIL] : 48 일일 배움을 위한 Today I Learned ! 질문노트 오늘은 간단하게 질문 몇 가지 정리해서 봤습니다. 2021.12.13 - [컴퓨터 공부/질문 노트] - [질문 노트] : Docker가 무엇인가요? 2021.12.13 - [컴퓨터 공부/질문 노트] - [질문 노트] : Kubernetes, K8s는 무엇인가요? 2021.12.13 - [컴퓨터 공부/질문 노트] - [질문 노트] : Pod이 무엇인가요? 소경관 부트스트랩 템플릿을 찾고 있습니다. 데이터 베이스도 주변에 물어물어 공부하고 있습니다. 우선, 마인드맵을 활용해서 생각한 내용을 먼저 만들고 천천히 다듬어가는 게 좋을 것 같습니다. 오늘이나 내일 중으로 데이터 베이스도 한 번 초안을 만들어 볼 예정입니다. 알고리즘 백준 문제 간단하게 풀어.. 2021. 12. 13.
[백준] : 2742 Python, 파이썬 풀이 문제 주의 range() 함수의 사용법을 검색해 보고 풀어보면 좋습니다. 풀이 n = int(input()) for i in range(n, 0, -1): print(i) 우선 정답은 위 코드입니다. range함수를 통해 n = 초기값, 0 = 종료값, -1 = 증감값 이렇게 넣을 수 있습니다. 처음에는 조금 다르게 풀었는데 출력은 같은데 정답으로 인정이 안 되어서 다시 풀어봤습니다. n = int(input()) for i in range(5): n -= 1 print(n+1) 이게 처음에 풀어본 코드인데 사실 정답 코드가 깔끔하긴 합니다. 이번 코드를 풀면서 하나 더 배웠네요. 2021. 12. 13.
[ TIL] : 46 일일 배움을 위한 Today I Learned ! 알고리즘 간단하게 백준 알고리즘 풀던 부분을 이어서 풀었습니다. 이전 문제들 보다 쉬운 기초 문제였습니다. 2021.12.11 - [Algorithm/백준] - [백준] : 2741 Python,파이썬 풀이 소경관 이제 본격적으로 프로젝트 진행을 위해 Ubuntu에 Mysql을 설치하고 윈도우의 workbench로 외부 접속하는 것을 진행했습니다. 오류가 조금 있었지만 구글링을 통해 잘 해결했고 해결법을 간단하게 정리하면서 마무리합니다. 2021.12.11 - [Project/소경관] - [소경관] : Ubuntu를 PuTTY로 접속하기 2021.12.11 - [Project/소경관] - [소경관] : Ubuntu에 MySQL설치하기 2021.12.11 .. 2021. 12. 11.
[백준] : 2741 Python,파이썬 풀이 문제 주의 받은 값은 0부터 출력이 되므로 출력문에 +1을 해 줘야 합니다. 풀이 # 백준 2741번 파이썬 풀이 n = int(input()) for i in range(n): print(i+1) 5를 입력했을 때, 1,2,3,4,5가 수직으로 나오도록 하려면 for문을 통해 반복문을 작성하고 print문으로 출력을 하는게 기본인데 입력 값을 5로 입력하고 i를 출력하면 0부터 총 n번 실행하기 때문에 0,1,2,3,4가 나옵니다. 때문에 출력문에 +1을 해줘야 합니다. 2021. 12. 11.
[TIL] : 45 일일 배움을 위한 Today I Learned ! SpringFramework 배운 스프링 프레임워크 사용법 중 중요한 부분에 대해 자문 자답을 진행했습니다. 2021.12.10 - [Framework/Spring Framework] - [Spring Framework] : 스프링 프레임워크 자문 자답 16제 알고리즘 파이썬으로 알고리즘 2문제 풀이를 진행했습니다. 파이썬은 사용할 수 있는 함수가 많아 복잡하지만 이해를 위해 주석을 달아가면서 공부를 하고 있습니다. 2021.12.10 - [Algorithm/파이썬 알고리즘 문제풀이 (코딩테스트대비)] - [파이썬 알고리즘 문제풀이] : 대표값 2021.12.10 - [Algorithm/파이썬 알고리즘 문제풀이 (코딩테스트대비)] - [파이썬 알고리즘 문.. 2021. 12. 10.
[파이썬 알고리즘 문제풀이] : 대표값 문제 n명의 학생 수학 점수가 주어지고, 학생들의 평균을 구하고 평균에 가장 가까운 학생은 몇 번째 학생인지 출력하시오. 단, 평균과 가장 가까운 점수가 여러개 일 경우 점수가 높은 학생의 번호를 출력하고, 높은 점수를 가진 학생이 여러명일 경우 학생 번호가 가장 빠른 번호를 출력하시오. 주의 평균을 구하기 위해 합계를 구하는 함수 | sum() 소수 점 첫째 자리까지 구하는 함수 | round() 절대 값을 구하는 함수 | abs() 리스트의 인덱스 값과 실제 값을 쌍으로 대입해 주는 함수 | enumberate() ++추가사항 round() 함수가 소수 점 첫째 자리까지 구하는 함수라고 적었는데 파이썬에서는 round_half_up 방식이 아닌 round_half_even 방식을 택하고 있기 때문에 .. 2021. 12. 10.
반응형