프로그래머스 67

[Python/프로그래머스]다시풀어보는_수식최대화_[구현,permutation,re.split]

문제링크 : https://school.programmers.co.kr/learn/courses/30/lessons/67257?language=python3 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1년전에 이 문제를 풀었던 블로그에 기록이 있다. 하지만 나는 전혀 기억이 나지않았고 문제를 보고 구현...? 이런 생각까지만 나왔다. 이 문제를 풀기위해 permutation 을 배웠고 re.split()도 배웠다. 많이 배워가는 문제다. permutation 포스팅 : https://what-am-i.tistory.com/453 [Python]Perm..

[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/프로그래머스]파일명 정렬_구현

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(..

[Python/프로그래머스]후보키_조합

https://school.programmers.co.kr/learn/courses/30/lessons/42890 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 어떻게 푸는지 잘 감이 안왔는데... combinations를 쓰는건가 생각했는데 맞았다. combinations는 반환 값이 튜플이다. 1. combinations를 이용해서 조합을 모두 구한다. 2. 유일성을 만족하는 친구를 찾는다. -> 1번에서 구한 친구들을 이용해 relation값들을 이용해서 튜플을 만들고 그것의 set(중복제거)후의 길이가 relation의 길이와 동일하면 모두 식별할..

[Python/프로그래머스]외벽점검_구현

https://school.programmers.co.kr/learn/courses/30/lessons/60062 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 어렵다!!😈😈 그래도 이런 구현을 풀어야 코테를 풀 수 있는거겠지 1. 먼저 계산을 쉽게 하기 위해 원형을 선형으로 바꿔준다. (원래 값에 원형의 길이를 더해 붙여주면 된다.) 2. 각각의 모든 weak 지점에서 시작하는 경우를 모두 확인하기 위해 permutation으로 순서를 정하기 전에 for문으로 weak의 길이만큼 돌린다. 3. position을 구한다. count도 1로 초기화 해준다...

[Python/프로그래머스]합승택시요금_플로이드와샬

https://school.programmers.co.kr/learn/courses/30/lessons/72413 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🐾 20221022 플로이드 와샬 백준 문제 풀이 : https://what-am-i.tistory.com/425 [Python/BOJ] 백준11404 플로이드_플로이드와샬 https://www.acmicpc.net/problem/11404 11404번: 플로이드 첫째 줄에 도시의 개수 n이 주어지고 둘째 줄에는 버스의 개수 m이 주어진다. 그리고 셋째 줄부터 m+2줄까지 다음과 같은 버스의 정보..

[Python/프로그래머스][1차]캐시_구현

https://school.programmers.co.kr/learn/courses/30/lessons/17680 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr cacheSize가 있는지 없는지에 따라 2가지로 구분해서 코드를 만들어야한다. 그리고 대소문자 구분이 없으므로 city.lower()를 통해서 모든 문자를 소문자로 만들어 비교한다. 코드 : def solution(cacheSize, cities): time = 0 stack = [] for c in cities : c= c.lower() if cacheSize : if c in stack : ..