전체 글60 [프로그래머스] 핸드폰 번호 가리기 - Swift [Lv.2] https://school.programmers.co.kr/learn/courses/30/lessons/12948?language=swift 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 1. String(repeating:, count:)를 사용하여 뒤 네 자리 전까지의 숫자를 "*"로 초기화시킨 문자열을 만든다. 2. str.suffix()를 사용하여 뒤에서부터 네 자리를 잘라 ans에 append()해준다. ("ans.append(String(phone_number.suffix(4)))"와 동일한 코드로 "ans += phone_n.. 2023. 9. 26. [프로그래머스] 최솟값 만들기 - Swift [Lv.2] https://school.programmers.co.kr/learn/courses/30/lessons/12941?language=swift 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 A와 B를 서로 오름차순/내림차순 정렬해서 동일한 인덱스끼리 곱한 값을 모두 더한 값이 최솟값이다. sorted()와 sorted(by: >)를 통해 오름차순/내림차순 정렬을 차례대로 해주는게 포인트이다. import Foundation func solution(_ A:[Int], _ B:[Int]) -> Int { var ans = 0 var arr1.. 2023. 9. 26. [백준] 13335. 트럭 - Python [Silver I] https://www.acmicpc.net/problem/13335 13335번: 트럭 입력 데이터는 표준입력을 사용한다. 입력은 두 줄로 이루어진다. 입력의 첫 번째 줄에는 세 개의 정수 n (1 ≤ n ≤ 1,000) , w (1 ≤ w ≤ 100) and L (10 ≤ L ≤ 1,000)이 주어지는데, n은 다리를 건너는 트 www.acmicpc.net 풀이 다리를 건너기 전 트럭들을 큐에 넣는다. 다리를 건너는 중인 트럭을 큐에 넣는다. (큐에 넣을때는 다리를 다 건널 때 까지 남은 시간을 같이 넣어준다.) 다리를 건너기 전 큐와 다리를 건너는 중인 큐에 있는 트럭이 모두 없어질 때까지 남은 시간을 1씩 줄이며 (1)~(2)과정을 반복한다. from collections imp.. 2023. 9. 26. [백준] 1406. 에디터 - Python [Silver II] https://www.acmicpc.net/problem/1406 1406번: 에디터 첫째 줄에는 초기에 편집기에 입력되어 있는 문자열이 주어진다. 이 문자열은 길이가 N이고, 영어 소문자로만 이루어져 있으며, 길이는 100,000을 넘지 않는다. 둘째 줄에는 입력할 명령어의 개수 www.acmicpc.net 풀이 원래는 Linked List를 사용하여 문제를 해결하는 방법이 정석 풀이지만, Python에서 Linked List를 구현하는 것이 클래스를 선언하고...등과 같은 절차로 귀찮은 관계로, 스택(덱 사용) 2개를 사용하여 문제를 해결하였다. 왼쪽 스택과 오른쪽 스택이 있다고 가정하고, 왼쪽 스택의 top이 현재 커서의 위치가 된다. Apple이라는 글자가 있는데 커서가 l뒤.. 2023. 9. 26. [백준] 2667. 단지번호붙이기 - Python [Silver I] https://www.acmicpc.net/problem/2667 2667번: 단지번호붙이기 과 같이 정사각형 모양의 지도가 있다. 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. 철수는 이 지도를 가지고 연결된 집의 모임인 단지를 정의하고, 단지에 번호를 붙이려 한다. 여 www.acmicpc.net 풀이 2차원 배열을 통해 그래프를 생성하고, 1이 있는 곳 마다 BFS를 돌려 1번 컴퓨터와 연결된 컴퓨터의 개수를 센다. (단지별로 BFS를 돌며, 이미 방문한 곳은 visited 셋을 통해 체크하여 이미 방문한 단지를 중복방문하지 않게 한다.) from collections import deque import sys # global var n = 0 g = [] dx = [-.. 2023. 9. 18. [백준] 2606. 바이러스 - Python [Silver III] https://www.acmicpc.net/problem/2606 2606번: 바이러스 첫째 줄에는 컴퓨터의 수가 주어진다. 컴퓨터의 수는 100 이하인 양의 정수이고 각 컴퓨터에는 1번 부터 차례대로 번호가 매겨진다. 둘째 줄에는 네트워크 상에서 직접 연결되어 있는 컴퓨터 쌍 www.acmicpc.net 풀이 2차원 배열을 통해 네트워크(그래프)를 생성하고, BFS를 돌려 1번 컴퓨터와 연결된 컴퓨터의 개수를 센다. from collections import deque computers = [] visited = [] ans = 0 def solve(cur): global ans global visited global computers q = deque() q.append(cur.. 2023. 9. 18. 이전 1 ··· 4 5 6 7 8 9 10 다음