[프로그래머스] 무인도 여행
·
PS/프로그래머스
문제 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr입력 maps:[String] = 지도 문자열 maps[i] - "X" = 바다 - 숫자 = 무인도에 머물 수 있는 수결과ans: [Int] = 각 섬마다 최대 머물 수 있는 일 수 , 하나 없으면 [-1]해석X가 아니면 섬이므로 일단 들어가서 연결되어있는 모든 섬을 방문하여 숫자를 더한 다음 결과 배열에 담는다.방문했는지 여부를 알아야하니 visited 배열필요 코드import Foundationextension String { subscript(_ index: Int) -> String { ..
[프로그래머스] 미로 탈출
·
PS/프로그래머스
문제 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 입력maps:[String] = 맵정보를 나타냄O = 빈공간X = 벽S = 시작지점L = 레버E = 탈출결과ans: Int = 레버를 올린 후 도착지점까지 최소 시간, 도착 불가면 -1해석전형적인 bfs를 통한 최단거리 찾기 문제인 것 같다.그런데 하나 다른 점은 반든시 레버 지점에 도착한 후 출구로 가야한다.그렇다면 bfs를 두번 진행하면 될 듯하다. 1. 출발지 -> 레버2. 레버 -> 출구  코드import Foundationextension String { subscript(_ index: I..
[프로그래머스] n + 1 카드게임
·
PS/프로그래머스
문제 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr입력coin:Int = 동전 개수cards:[Int = 카드 뭉치 결과answer: Int = 최대로 진행할 수 있는 라운드 수해석다음 라운드 수로 진행할 수 있는 경우의 수는 다음과 같다.공통목표는 현재 들고 있는 카드 2개의 합이 n+1을 만족해야 넘어갈 수 있다조건 A: 처음 갖고 있는 카드 2개로 조건 만족, coin 소모 x , 가장 좋은 방법조건 B: 처음 갖고 있는 카드 1개 +  새로 뽑은 카드로 조건 만족, coin 소모 1개 조건 C: 새로 뽑은 카드 2개로 조건 만족, coin 2소모여기서..
[프로그래머스] 산 모양 타일링
·
PS/프로그래머스
문제 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 입력n:Int = 윗변의 길이tops:[Int] = 정삼각형의 위쪽에 정삼각형을 붙이는 여부tops[i] = 0 없는 경우tops[i] = 1 위에 삼각형이 있는 경우결과ans: Int = 만들 수 있는 경우의 수를 10007로 나눈 결과놓을 수 있는 경우의 수 해석 보자마자 dp를 의심할 수 있다. 왜냐하면 이전 삼각형 상태로 다음 상황이 결정되기 때문에 부분 문제를 풀어야되는 dp카테고리다. 경우의 수를 생가가해보지.  1. 현재 i-1에 2번이 놓여있을 때i에 1,3,4(위에 공간이 있을 때) 놓을..
[프로그래머스] 미로 탈출 명령어
·
PS/프로그래머스
문제 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr입력n: Int = 세로 길이m: Int = 가로 길이x: Int = 초기 세로 위치y: Int = 초기 가로 위치 r: Int = 도착 세로 위치c: Int = 도착 가로 위치 k: Int = 제한결과이동거리가 k일 때 사전순으로 가장 빠른 방법을 출력 l = 왼 r = 오d = 아래u = 위만약 방법이 없다면 impossible 문자열 출력해석1. 움직임에 대한 문자가 매칭되야하므로 열거형으로 하면 편할 것 같다.2. 사전으로 가장 빠른 움직인 순서는 d l r u 순이니 이 순서로 방문을 하면 알아서 사..
[프로그래머스] 코딩 테스트 공부
·
PS/프로그래머스
문제 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr입력alp:Int = 최초 알고력 cop:Int = 최초 코딩력problems:[[Int]] = problem의 배열 , 길이는 ≤ 6. problem = [alp_req, cop_req, alp_rwd, cop_rwd, cost]alp_req는 문제를 푸는데 필요한 알고력입니다.0 ≤ alp_req ≤ 150cop_req는 문제를 푸는데 필요한 코딩력입니다.0 ≤ cop_req ≤ 150alp_rwd는 문제를 풀었을 때 증가하는 알고력입니다.0 ≤ alp_rwd ≤ 30cop_rwd는 문제를 풀었을 때 ..