본문 바로가기

알고리즘133

[프로그래머스- 조이스틱][파이썬]-19일차 https://programmers.co.kr/learn/courses/30/lessons/42860 참조 블로그: https://velog.io/@jqdjhy/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4-%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EC%A1%B0%EC%9D%B4%EC%8A%A4%ED%8B%B1-Greedy key point: A가 연속됨 -> A를 마지막에 처리해줌 2022. 6. 13.
[백준 15665- N과 M(12)][파이썬]-18일차 https://www.acmicpc.net/problem/15666 --> 0부터 시작해서 애초에 자신보다 작은 수를 for문에서 다뤄주지 않게 설계 2022. 6. 12.
[백준 15665- N과 M(11)][파이썬]-18일차 https://www.acmicpc.net/problem/15665 --> 동일 로직, 중복 허용 -> if문에서 중복 제거하는 조건 제거 2022. 6. 12.
[백준 15664- N과 M(10)][파이썬]-18일차 https://www.acmicpc.net/problem/15664 --전 포스팅과 같은 로직, 오름차순으로 뽑아야함으로 dfs(0)부터 시작하게 하고, 뽑힌 수를 기준으로 다시 for문을 돌리는 로직 2022. 6. 12.
[백준 15663- N과 M(9)][파이썬]-17일차 https://www.acmicpc.net/problem/15663 dfs의 개념이 더 들어간 문제다 visitied의 여부를 통해서 숫자를 방문한다 (for문이 아니라) flag를 설정해서 1,1 / 7,7 같은 중복을 허용하지 않는다 2022. 6. 11.
[프로그래머스- 다리를 지나는 트럭][파이썬]-17일차 https://programmers.co.kr/learn/courses/30/lessons/42583 -- key point: 오직 time 과 bridge 만 고려해주는 것 1. 내 문제 먼저 나는 기다리는 트럭 리스트, 다리 위 리스트, 완료된 리스트 3개로 만들어서 하려다 보니 어떤 리스트를 pop하고 append 하고에서 시간이 많이 쓰였고, 잔 조건들 때문에 어려움을 겪었다. 생각해보니, 완료된 리스트는 고려할 필요가 애초에 없었고, 다리를 [0]이 bridge_length 만큼 있는 리스트로 만들어서, bridge의 0번 인덱스를 1초마다 삭제 해버리는 과정을 통해서 어려워 했던 bridge위에서의 시간 계산 로직을 해결했다. 2. bridge만 고려하기 먼저 bridge 라는 리스트를 통해서.. 2022. 6. 11.
[백준 15667- N과 M(8)][파이썬]-17일차 https://www.acmicpc.net/problem/15657 로직은 앞 N과 M 시리즈를 앞에서부터 정독하면 모두 이해할 수 있습니다 -> N과 M(4)과 달리 리스트에 값들을 지정받고, 그 리스트에서 값을 조합하는 것이기 때문에, 인덱스 번호로 접근할 필요가 있고, 그래서 값을 나타내는 li[]에는 -1을 해주어 1부터 시작할 수 있게 반영해주었고, ( li[i] 로만 하면 1부터 시작이 안됨) -> 범위도 인덱스임을 고려해서 한칸 더 늘려주었다 2022. 6. 11.
[백준 15666- N과 M(7)][파이썬]-17일차 https://www.acmicpc.net/problem/15656 중복 허용 -> if 문 제거 2022. 6. 11.
[백준 15655- N과 M(6)][파이썬]-16일차 https://www.acmicpc.net/problem/15655 --오름차순, 데이터 주어짐 if 문에 오름차순 정렬한 데이터와 같은지 판단 데이터 값을 for문의 범위에 설정하고, li안의 값을 append 2022. 6. 10.
[백준 15654- N과 M(5)][파이썬]-16일차 https://www.acmicpc.net/problem/15654 -- 데이터를 직접 주는 문제 데이터를 li라는 리스트에 input 해주고, 오름차순으로 정렬. (수열은 사전 순으로 증가하는 순서로 출력해야 한다) for문의 범위는 n, 리스트의 길이 안에서만 반복하고 리스트의 값을 반복해주면 된다 for문에서 도는 숫자들을 가시적으로 문제가 준 것이라고 이해하면 편함 2022. 6. 10.
[백준 15652- N과 M(4)][파이썬]-16일차 https://www.acmicpc.net/problem/15652 -- 비내림차순 오름차순 문제처럼(이전 포스팅에 있음), data의 sorted에 reverse=True 로 접근하면 오류가 난다 -> start 값을 지정하고, dfs를 실행하는 로직으로 접근 1,1 ,12 1,3 이후 의 로직에서 다른 dfs 문들은 for 가 1부터 시작하기 때문에, 또 2,1 2,2 2,3 이런식으로 접근을 시작할텐데, start를 지정해줌으로 2,2 부터 시작하게 된다(자기 보다 작은 값을 for문에서 아예 없애버림) 2022. 6. 10.
[백준 15651- N과 M(3)][파이썬]-16일차 https://www.acmicpc.net/problem/15651 --같은 수를 여러번 골라도 된다 라는 조건 -> if i in data: 문 제거 모든 로직 동일 2022. 6. 10.