[4주차] 편의점 🚀 할인 혜택과 재고를 고려한 최종 결제 금액을 계산하고 안내하는 편의점 결제 시스템 구현 ✒️ 기능 요구 사항사용자가 입력한 상품의 가격과 수량을 기반으로 최종 결제 금액을 계산한다.총구매액은 상품별 가격과 수량을 곱하여 계산하며, 프로모션 및 멤버십 할인 정책을 반영하여 최종 결제 금액을 산출한다.구매 내역과 산출한 금액 정보를 영수증으로 출력한다.영수증 출력 후 추가 구매를 진행할지 또는 종료할지를 선택할 수 있다.사용자가 잘못된 값을 입력할 경우 IllegalArgumentException를 발생시키고, "[ERROR]"로 시작하는 에러 메시지를 출력 후 그 부분부터 입력을 다시 받는다.Exception이 아닌 IllegalArgumentException, IllegalStat..
[3주차] 로또 🚀 보유 금액만큼 로또를 자동 구매하고 당첨 번호를 입력받은 뒤 당첨 통계와 수익률을 출력로또 번호의 숫자 범위는 1~45까지이다.1개의 로또를 발행할 때 중복되지 않는 6개의 숫자를 뽑는다.당첨 번호 추첨 시 중복되지 않는 숫자 6개와 보너스 번호 1개를 뽑는다.당첨은 1등부터 5등까지 있다. 당첨 기준과 금액은 아래와 같다.1등: 6개 번호 일치 / 2,000,000,000원2등: 5개 번호 + 보너스 번호 일치 / 30,000,000원3등: 5개 번호 일치 / 1,500,000원4등: 4개 번호 일치 / 50,000원5등: 3개 번호 일치 / 5,000원로또 구입 금액을 입력하면 구입 금액에 해당하는 만큼 로또를 발행해야 한다.로또 1장의 가격은 1,000원이다.당첨 번호와 보너스..
[2주차] 자동차 경주🚀 자동차 이름 목록과 경주 횟수를 입력받아 랜덤으로 이동하여 승자를 출력한다.주어진 횟수 동안 n대의 자동차는 전진 또는 멈출 수 있다.각 자동차에 이름을 부여할 수 있다. 전진하는 자동차를 출력할 때 자동차 이름을 같이 출력한다.자동차 이름은 쉼표(,)를 기준으로 구분하며 이름은 5자 이하만 가능하다.사용자는 몇 번의 이동을 할 것인지를 입력할 수 있어야 한다.전진하는 조건은 0에서 9 사이에서 무작위 값을 구한 후 무작위 값이 4 이상일 경우이다.자동차 경주 게임을 완료한 후 누가 우승했는지를 알려준다. 우승자는 한 명 이상일 수 있다.우승자가 여러 명일 경우 쉼표(,)를 이용하여 구분한다.사용자가 잘못된 값을 입력할 경우 IllegalArgumentException을 발생시..
우테코에 지원하기까지 동기 비슷한것올해는 목표를 잃고 많이 방황했다. 부모님, 특히 어머니가 공무원을 너무 바라셔서 7급 전산직 공무원 응시자격을 갖추기 위해 반년 이상을 날려먹었다. 코딩은 흥미가 있지만 PSAT같은 능지테스트와 산수 문제들은 진짜 하기 싫었다. (공부해도 실력이 오르는거 같지도 않는걸…) 솔직히 내가 무슨 개발자가 되고 싶은지 학교를 다닐 때에도 그닥 고민을 해본적이 없었다. 유니티도 해보고 웹도 건드려보고 그렇다고 단순히 백엔드 개발자가 취업이 잘된다는 이유로 선택하고 싶진 않았다.곰곰이 생각해본 결과 졸업작품 으로 안드로이드 앱을 제작했던것이 나름 성과도 있었고 (코틀린이나 Jetpack같은건 쓰지도 않았고, 디자인 패턴이나 객체지향 원칙 등은 참고도 하지 않은채 천조각을 기워내듯..
코틀린 내장 Split 라이브러리는 여러개의 구분자를 지원하긴 하지만, 구분자가 계속 가변적으로 바뀌어 곤란한 경우에 다음과 같은 코드를 사용하면 됩니다.Split (collection 사용)컬렉션 타입으로 저장된 여러 구분자를 이용해 문자열을 자르는 확장함수를 구현하였다.Char와 String 타입의 구분자들을 포함하는 컬렉션을 이용해 분할이 가능하다.fun main() { // splitByCollection println("한놈,두식이0석삼^너구리".splitByCollection(setOf(",", '0', "^"))) // [한놈, 두식이, 석삼, 너구리] println("하나:둘,셋;넷".splitByCollection(listOf(":", ",", ';'))) //..
Split (기본 사용법)구분자를 기준으로 문자열을 분할하여 List 반환한다.fun main() { println("한놈,두식이0석삼^너구리".split(",", "0", "^")) // [한놈, 두식이, 석삼, 너구리]} ignoreCase = true 인자를 넣으면 구분자의 대소문자가 무시된다fun main() { println("한놈a두식이A석삼a너구리".split("a")) // [한놈, 두식이A석삼, 너구리] println("한놈a두식이A석삼a너구리".split("a", ignoreCase = true)) // [한놈, 두식이, 석삼, 너구리]} limit = n을 인자를 넣으면 최대 n개의 문자열로 분할된fun main() { println("한놈a두..