전체 글 457

[Python/프로그래머스]두 큐 합 같게 만들기_[구현]

🐾 20221202 🐾 20221205 https://school.programmers.co.kr/learn/courses/30/lessons/118667 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 쉬워보임..! 풀긴 풀었는데 정확도가 100이 안나왔다 틀린코드 : from collections import deque def solution(queue1, queue2): answer = 0 q1,q2 = deque(queue1),deque(queue2) Sum1 = sum(q1) Sum2 = sum(q2) S = Sum1 + Sum2 l1, l2 = ..

[Python/BOJ] 백준2212 센서_그리디

https://www.acmicpc.net/problem/2212 2212번: 센서 첫째 줄에 센서의 개수 N(1 ≤ N ≤ 10,000), 둘째 줄에 집중국의 개수 K(1 ≤ K ≤ 1000)가 주어진다. 셋째 줄에는 N개의 센서의 좌표가 한 개의 정수로 N개 주어진다. 각 좌표 사이에는 빈 칸이 하나 있 www.acmicpc.net 5번을 읽었는데 문제가 잘 이해가 안되서 답을 찾아봤다.😂 그냥 쉽게 말하면 n개의 센서를 k개의 구간으로 나누기 더만!! 내가 독해력이 떨어지나....ㅋㅋㅋ 정렬을 이용하여 그리디 방식으로 풀이하였다. - 만약 집중국의 개수가 센서보다 크거나 같다면 0이다. 1) 센서들을 순서대로 만든다.(오름차순 정렬) 2) 센서들..

[Python/프로그래머스]거리두기 확인하기_[BFS]

https://school.programmers.co.kr/learn/courses/30/lessons/81302 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🐾 20221022 - 이번엔 혼자 못품.. 으아아아 혼자 풀었다!!!! 생각한 방법 : 매번 p가 나올 때 마다 bfs를 돌려서 2 이내에 다른 p가 발견되면 answer에 0을 넣자. 코드 : from collections import deque import copy dx = [0,1,0,-1] dy = [1,0,-1,0] def bfs(q,vis,tmp) : isTrue = 1 while q..

[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/프로그래머스]경주로 건설_[BFS]

https://school.programmers.co.kr/learn/courses/30/lessons/67259 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🐾 20221022 from collections import deque dx = [0,1,0,-1] dy = [1,0,-1,0] def solution(board): n = len(board) def bfs(x,y,cost,dir) : vis = [[0]*n for _ in range(n)] vis[0][0] = 1 q = deque([[x,y,cost,dir]]) while q : x,y,co..

[Python/프로그래머스]수식최대화_[구현]

https://school.programmers.co.kr/learn/courses/30/lessons/67257 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🐾 20221021 뭔가 stack 2개를 이용하고 combination or permutation을 쓸것같다. 예상은 했으나 구현에 실패...😓 다음에 이 문제를 풀때는 꼭 구현에 성공했으면 좋겠다. ✌2022-10-21 다음에 이 문제를 풀어봤는데 못풀었다...ㅎㅎ 이번에도 permutations를 이용하고 deque 2개를 이용해서 연산할 것같았다. 좀 더럽게라도 expressions를 숫자..

[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/프로그래머스]양과 늑대_(KaKao)_[DFS]

https://school.programmers.co.kr/learn/courses/30/lessons/92343 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr DFS인건 알겠는데 대체 이렇게 푸는 생각을 어떻게 하는거지..? for i in range(len(edges)) : parent = edges[i][0] child = edges[i][1] if vis[parent] and vis[child] == 0 : 위 코드를 통해서 내가 갈 수 있는곳은 다가보는거다. 그러다가 sheep > wolf 라면 답에 양의 숫자를 넣고 늑대가 더 많아진다면 ret..

[Python/프로그래머스]보석쇼핑_(KaKao)_[투포인터]

https://school.programmers.co.kr/learn/courses/30/lessons/67258 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🐾 20221008 쉬워보여서 그냥 구현으로 만들어봤다. def solution(gems): answer = [] gem = set(gems) num = len(gem) for i in range(len(gems) - num+1) : tmp = set() for j in range(i,len(gems)) : tmp.add(gems[j]) if len(tmp) == num : answer.appen..

[Python/BOJ] 백준2138 전구와 스위치_그리디

이해하는게 참 어려웠던 문제다. 앞서 풀었던 행렬처럼 (https://what-am-i.tistory.com/408) 그리디이기 때문에 한번만 돌면서 다르면 바꾸고 이런 식일거라고 생각했다. 그런데 이 문제는 i-1, i, i+1 이 변경이되고 가장 앞과 가장 뒤는 2개씩만 변경되니까 어떻게 나눠야할지 막막했다. 찾은 방법은 바로! 내 앞에 있는 전구와 동일한 위치의 목표로 하는 전구가 다르면 나를 변경시킨다! 앞에 있는 전구를 보기 때문에 첫번째 있는 전구는 볼 전구가 없다. 그래서 첫번재 전구를 키는 경우, 안키는 경우 두가지를 확인하여 최소값을 찾으면 된다. # 0은 1으로 , 1은 0으로 def change(num) : return 1 - num def flip(state,cnt) : # 첫번째 ..