Algorithm(18)
-
[Programmers] 수식 최대화 (Level 2)
문제 https://school.programmers.co.kr/learn/courses/30/lessons/67257 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 요약 연산자가 "+", "-", "*(곱셈)" 3가지가 있는 수식이 있습니다. 연산자들의 우선순위는 같은 게 없고, 항상 우위에 있는 게 있습니다. 연산자의 우선순위를 예를 들면, *(곱셈), + > - (❎) *(곱셈) > + > - (✅) *(곱셈) > - > + (✅) 와 같이 동일한 우선순위를 정의할 수 없습니다. 이런 상황에서 연산 수식을 최대화할 때의 상금 금액을 구하는 문제..
2022.09.26 -
[Swift] string radix initializer
Swift radix 구현 방법 보통 아래와 같이 함수를 구현한다. func radixTo(_ radix: Int, with number: Int) -> String { var result: String = "" var number: Int = number while number > 0 { result.append("\(number % radix)") number /= radix } return String(result.reversed()) } let number = 10 let radix2: String = radixTo(2, with: 10) // 1010 let radix3: String = radixTo(3, with: 10) // 101 하지만 swift는 String의 initializer로 ..
2022.09.22 -
[Programmers] 위장
문제링크 👉 https://programmers.co.kr/learn/courses/30/lessons/42578?language=swift 문제 이해 스파이들이 매일 다른 옷으로 위장하는데 그 경우의 수를 구하는 문제입니당 문제 풀이 문제 입출력 예 1번을 보면, headgear로는 "yellowhat", "green_turban" 2개가 있고 eyewear로는 "bluesunglasses" 1개가 있습니다. 그래서 스파이가 옷을 입는 경우의 수로는 1. yellow_hat 2. blue_sunglasses 3. green_turban 4. yellow_hat + blue_sunglasses 5. green_turban + blue_sunglasses 이렇게 5개를 생각할 수 있어요. 옷의 종류는 한개..
2022.03.30 -
[Programmers] n진수 게임
문제 👉 https://programmers.co.kr/learn/courses/30/lessons/17687 문제 설명 튜브가 N진수 게임을 하는데 튜브 순서에 말해야 하는 숫자들을 구하는 문제입니다. 게임 규칙은 문제에 자세히 나와있습니다. 문제 풀이 모든 숫자 결과값을 가진 string 배열을 구하고 그 중에서 튜브의 차례에 말할 숫자들을 뽑아야 합니다. 이 문제를 풀기 위해서 두가지를 알아야 합니다!! 1. N진수 변환 방법 2. for문 돌기 → +1이 아니라 +n만큼 돌아야 합니다. (튜브의 순서는 +사람수만큼 돌아오기 때문) 1번은 swift의 radix 메소드를 사용하면 됩니다. (항상 구현했었는데 오늘 처음 암 ㅎㅎ,,) 변환할 수와 진 수를 정하면 됩니다. uppercase는 optio..
2022.02.06 -
[Programmers] 거리두기 확인하기
문제링크 👉 https://programmers.co.kr/learn/courses/30/lessons/81302?language=swift 문제 이해 면접에 온 사람들이 거리를 두고 앉았는 지 유무를 묻는 문제입니다. 거리를 잘 두었는 지 판단하는 기준은 아래와 같습니다. - 자리 사이에 파티션이 존재하거나 자리가 대각선일 경우 O - 거리가 2인데 자리 사이에 책상이 놓여져 있다면 X 거리두기가 잘 지켜진 면접장은 1로, 지켜지지 않다면 0으로 반환하는 문제입니다. 문제 풀이 dfs 그래프 문제입니다. 응시자가 앉아있는 자리 P 일경우 dfs를 돌면서 옆에 칸막이면 패쓰, 책상이면 한번 더 dfs 돌아서 체크해주면 됩니다. 한 번 더 돌 경우, 이전에 확인했던 자리는 확인하면 안되므로 평소에는 vis..
2022.02.04