구현 22

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

[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 : ..

[Python/프로그래머스]프렌즈4블록_구현

https://school.programmers.co.kr/learn/courses/30/lessons/17679 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🐾 2022-10-21 문제를 보고 생각난 풀이 : 모든 영역을 돌면서 해당 블록을 기준으로 우,하,아래우측 대각선 블록이 동일한 블록을 찾는다. 모든 영역을 돌면서 찾은 다음에 모은 블럭들을 비었다는 표시를 해준다. 그 후 비었다는 표시를 이용해 위에서 아래로 값들을 내린다. 이것을 계속 반복하면서 동일한 블록이 없을 때까지 찾는다. 반복이 멈추면 다시 돌면서 빈 블록의 개수를 세서 반환하면 된..

[Python/프로그래머스]주차요금계산_[구현]

https://school.programmers.co.kr/learn/courses/30/lessons/92341 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🐾 20221022 - 혼자 품!! 코드 : def solution(fees, records): cost = {} dic = {} for i in records : i = i.split() if i[1] in dic : dic[i[1]].append(i[0]) else : dic[i[1]] = [i[0]] cost[i[1]] = 0 for key, i in dic.items() : time = 0..

[Python/프로그래머스]n^2배열자르기_[구현]

https://school.programmers.co.kr/learn/courses/30/lessons/87390 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 아 또 풀었는데 시간초과😈 내가 효율적으로 코드를 짜는 법을 모르나보다. 시간초과 코드 : def solution(n, left, right): answer = [] mp = [[0]*n for _ in range(n)] for i in range(n) : mp[0][i] = i for j in range(1,i+1) : mp[j][i] = i for j in range(i,-1,-1) : mp[..

[Python/BOJ] 백준 2615 오목_구현

처음에 구현은 어떻게 했는데 세부적인 내용에서 틀렸나보다.. 결국 구글링으로 답을 찾아봤다. 내가 아직 많이 부족하구나.. 방향은 4개다. 8개가 아니고 왜냐하면 시작하는 좌표중 왼쪽, 위를 구하라고 했으므로 왼쪽, 위부터 시작하는 방향만 보기 때문이다. 1. 만약 1또는 2를 찾았다면 cnt 를 1로 해서 탐색을 시작한다. 2. while 문으로 좌표안에 있는지 같은지 여부를 파악하며 계속 진행한다. 3. 만약 5개가 되었다면 6목인지 아닌지 판변한다. 4. 만약 6목이면 continue 5. 6목이 아니라면 값과 좌표를 찍고 문제를 끝낸다. 코드 : dx = [0,1,1,-1] dy = [1,0,1,1] if __name__=="__main__" : n = 19 mp = [list(map(int,in..