파이썬 145

20231109_점수계산_[Python알고리즘]

오늘도 역시 자기 전 김태원 파이썬 알고리즘 문제를 풀었다. 드디어 섹션2의 모든 문제가 끝났다. 포기하지말고 섹션8까지 열심히 듣자. 내가 푼 풀이 : if __name__=="__main__" : n = int(input()) arr = list(map(int,input().split())) arr2 = [0]*n for idx, val in enumerate(arr) : if val == 1 : # O인 상황 if idx == 0 : # 첫번째 문제라면 무조건 1점 arr2[0] =1 else : # 첫번째 문제가 아니라면 arr2[idx] = arr2[idx-1]+1 else : continue print(sum(arr2)) 이 풀이를 만들고 생각보다 간단하게 만들었다라고 생각했다. 강사님의 풀이..

취업/TIL 2023.11.10

20231107_뒤집은소수_소수판별법[Python알고리즘]

오늘도 김태원 - 파이썬 알고리즘 문제를 풀었다. 1. 주사위게임 def reverse(x) : res = 0 while x !=0 : t = x % 10 # x의 끝자리를 t에 넣는다 res = res * 10 +t # 기존의 res를 한칸 앞으로, t를 뒤에 넣는다. x = x // 10 # x의 끝자리를 없앤다 return res def isPrime(x) : if x == 1 : return False for i in range(2,x//2+1 ): if x%i ==0 : return False else : return True if __name__=="__main__" : n = int(input()) arr = list(map(int,input().split())) for tmp in arr ..

취업/TIL 2023.11.07

20231101_TIL(알고리즘-대표값,정다면체_웹서비스구조 첫번째)

오늘도 역시 알고리즘 문제를 풀었다. 섹션2 - 4.대표값 문제이다. import sys if __name__=="__main__" : n = int(input()) arr = list(map(int,input().split())) avg = int(sum(arr)/n+0.5) similar = sys.maxsize score, num = 0,0 for idx, x in enumerate(arr) : tmp = abs(x-avg) if tmp < similar : # 차이가 적다면 similar = tmp score = x num = idx +1 elif tmp == similar and score < x : # 차이가 같지만 점수가 크다면 score = x num = idx +1 print(avg,nu..

취업/TIL 2023.11.01

20231031_파이썬 알고리즘_k번째큰수

https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98-%EB%AC%B8%EC%A0%9C%ED%92%80%EC%9D%B4-%EC%BD%94%EB%94%A9%ED%85%8C%EC%8A%A4%ED%8A%B8/dashboard 파이썬 알고리즘 문제풀이 입문(코딩테스트 대비) - 인프런 | 강의 파이썬(Python)을 이용해 코딩 테스트 문제 풀이를 합니다., 개발자 취업 & 이직을 위한 핵심 코스 📝코딩테스트 대비 파이썬 알고리즘 문제풀이! 📢 수강 전 반드시 확인해주세요! 강의에서 제 www.inflearn.com 김태원 강사님의 강의를 보면서 알고리즘을 공부하고있다. 오늘은 K번째 큰수를 ..

취업/TIL 2023.11.01

[Python/프로그래머스]점 찍기_구현

https://school.programmers.co.kr/learn/courses/30/lessons/140107 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 참고블로그를 보면 알수있지만 몇자 적어보자면 피타고라스 법칙을 이용해서 풀수있다. ( d^2 = x^2 + y^2 ) 에서 x를 이항하면 ( y^2 = d^2 - x^2 ) x를 k 간격으로 돌리면서 모든 x를 다 해보면서 y의 최대값을 구한다. y의 최댓값에서 k를 나누어 개수를 구한다. 이를 다 더해서 answer을 구해 return 한다. 1 . k의 배수만 가능하므로 for문을 k간격으로..

[Python/BOJ] 백준2629 양팔저울_DP

https://www.acmicpc.net/problem/2629 2629번: 양팔저울 첫째 줄에는 추의 개수가 자연수로 주어진다. 추의 개수는 30 이하이다. 둘째 줄에는 추의 무게들이 자연수로 가벼운 것부터 차례로 주어진다. 같은 무게의 추가 여러 개 있을 수도 있다. 추의 무 www.acmicpc.net 코드는 맞는 것같은데 시간초과가 난다....😥 시간초과 코드 : def dfs(L,val) : if L == n : candi.add(abs(val)) else : dfs(L+1,val+goosle[L]) dfs(L+1,val-goosle[L]) dfs(L+1,val) if __name__=="__main__" : n = int(input()) goosle = list(map(int,input()...

[Python/프로그래머스]파일명 정렬_구현

https://school.programmers.co.kr/learn/courses/30/lessons/17686 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 사실 알고 코드를 보면 간단하고 쉬운데 왜 딱 보면 너무 어려워보일까...🥴 정답코드 : def solution(files): answer = [] for f in files: head, number, tail = '', '', '' number_check = False for i in range(len(f)): # 문자열 자르기 if f[i].isdigit(): # 처음 나오는 숫자부터는 NUM..

[Python/프로그래머스]n진수게임_구현

https://school.programmers.co.kr/learn/courses/30/lessons/17687 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 내가 직접 풀었다! 근데 내가 만든 코드보다 다른 사람코드가 더 효율적인듯하다😂 내가 푼 코드 : def solution(n, t, m, p): answer = [0] ans = '' # 숫자 구하기 for i in range(1,(m*t)+1) : tmp_list = [] while i : tmp = (i%n) if tmp >=10 : # 10보다 커지면 ABCDE tmp_list.append(..

[Python/프로그래머스]압축_구현

https://school.programmers.co.kr/learn/courses/30/lessons/17684 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr W : 비교할 문자열의 첫 인덱스 C : 비교할 문자열의 끝 인덱스 만약 있다면 while True 이기 때문에 다음으로 넘어간다. 넘어가면 c+=1 으로 언젠가 dic에 없는 단어가 나올 수 밖에 없다. 없는 단어가 나오면 dic에 추가하고 이전까지 있었던 문자열의 값을 dic에서 찾아 answer에 붙인다. w(시작 인덱스)를 끝 인덱스와 동일하게 해준다. 코드 : def solution(ms..

[Python/프로그래머스]방금그곡_구현

https://school.programmers.co.kr/learn/courses/30/lessons/17683 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 어렵지 않아보여서 풀었었다! 코드 실행으로는 3개의 예제 모두 맞았는데 채점에서 다 틀렸다🤦‍♀️ 답을 찾아보니 훨씬 효율적이고 깔끔하게 만든 코드가 있었다. 나도 깔끔하게 , 간단하게 코드를 만들고 싶다... import math def solution(m, musicinfos): answer = None m = m.replace("C#",'c').replace("D#",'d').replace(..