전체 글

전체 글

    [Programmers] 프로그래머스 Lv.1 다트 게임 (JAVA)

    링크 : https://school.programmers.co.kr/learn/courses/30/lessons/17682📚 문제💻 입출력 형식💡 아이디어✅ 숫자 이외의 문자들로 구분하여(split) 숫자 배열을 구합니다.문제의 조건을 살펴보면, 입력형식은 '점수|보너스|[옵션]'으로 이루어진 문자열 3세트라고 되어있습니다.여기서 주의해야 할 점은 2가지입니다.숫자는 1~2자리가 올 수 있다. → 점수는 0~10 사이의 정수옵션은 있을 수도, 없을 수도 있다.위와 같은 조건으로 인해 무조건 한 글자씩 끊어서 구분하기에는 어렵다는 것을 파악할 수 있습니다.따라서, 저는 정해져있는 '보너스'와 '옵션'의 문자들을 기준으로 구분하여 점수 데이터를 먼저 얻고자 했습니다.String[] tmp = dartR..

    [Programmers] 프로그래머스 Lv.1 실패율 (JAVA)

    링크 : https://school.programmers.co.kr/learn/courses/30/lessons/17681 📚 문제 🚫 제한사항 💡 아이디어 ✅ 실패율 = (현재 X번 Stage를 도전하고 있는 사람 수) ÷ (X번 Stage를 도전했던, 도전 중인 사람 수) 다음과 같은 데이터가 예시로 주어졌다고 생각해 봅시다. stages = [2, 1, 2, 6, 2, 4, 3, 3] 1번 Stage stages[1] = 1 → 1명이 현재 도전 중 stages의 전체 요소 = 8명 → 1번 Stage를 도전 중이거나(1번 index), 이미 도전성공함(나머지 index) ∴ 실패율 = 1 / 8 2번 Stage stages[0] = stages[2] = stages[4] = 2 → 3명이 현재 도..

    [Programmers] 프로그래머스 Lv.1 자릿수 더하기 (JAVA)

    링크 : https://school.programmers.co.kr/learn/courses/30/lessons/12931 📚 문제 🚫 제한사항 💡 아이디어 ✅ 10으로 나눈 나머지와 몫을 활용한다. while(n > 0) { answer += n % 10; n /= 10; } 첫 번째 방법은, n을 10으로 나눈 나머지를 answer에 누적하고, n을 10으로 나누는 과정을 반복하는 방식입니다. ✅ 각 자릿수의 char 값을 활용한다. String s = Integer.toString(n); for(int i = 0; i < s.length(); i++) { answer += s.charAt(i) - '0'; } 두 번째 방법은, 주어진 n을 String 형태로 변환한 뒤, 각 자릿수의 char 값을 ..

    [Programmers] 프로그래머스 Lv.1 비밀지도 (JAVA)

    링크 : https://school.programmers.co.kr/learn/courses/30/lessons/17681 📚 문제 💻 입출력 형식 💡 아이디어 ✅ 0(False) | 0(False) = 0(False), 0(False) | 1(True) = 1(True), 1(True) | 1(True) = 1(True) '지도 1 또는 지도 2 중 어느 하나라도 벽(1)인 부분은 전체 지도에서도 벽이다. 지도 1과 지도 2에서 모두 공백(0)인 부분은 전체 지도에서도 공백이다.'를 수식으로 표현해보면 위와 같이 |(or)을 사용하는 식이 만들어집니다. ✅ Integer.toBinaryString(int i)를 활용합니다. ✨ 잠깐, Integer.toBinaryString(int i)는 어떻게 사용하..