[TIL] 9월 23일
·
프로그래머스
알고리즘 문제햄버거 만들기https://school.programmers.co.kr/learn/courses/30/lessons/133502 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr문제 설명  처음에 짠 코드와 문제점import java.util.*;class Solution { public int solution(int[] ingredient) { StringBuilder str = new StringBuilder(Arrays.toString(ingredient).replaceAll("[^0-9]","")); return..
[TIL] 9월 20일
·
프로그래머스
프로그래머스 -   로또의 최고 순위와 최저 순위  문제 링크https://school.programmers.co.kr/learn/courses/30/lessons/77484 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문제 설명 로또는 1부터 45까지의 숫자 중 6개를 찍어서 맞히는 대표적인 복권입니다. 아래는 로또의 순위를 정하는 방식입니다.순위당첨내용16개 번호가 모두 일치 25개 번호가 일치 34개 번호가 일치 43개 번호가 일치 52개 번호가 일치6(낙첨)그 외 로또를 구매한 민우는 당첨 번호 발표일을 학수고대하고 있었습니다. 하지만, 민우의 동생..
[TIL] 9월 19일
·
TIL
숫자 야구 게임 만들기 !사용자가 3 ~ 5중의자릿수를 입력하면 그 입력값에 따른 자릿값의 난수 생성 메서드// 유저가 자릿수를 입력했을 때 그 입력한 값을 받아서 그 값만큼의 자릿수를 가진 랜덤 숫자 생성하는 메서드 public String createChoiceRandomNumber(String userChoiceNumber) throws Exception{ String randomNumber = ""; if(reg.checkIngNumber(userChoiceNumber)){ int userNumber = Integer.parseInt(userChoiceNumber); if(userNumber >= 3 && userNumber ..
[TIL] 9월 13일
·
TIL
오늘 계산기과제의 대한 피드백을 받았다. 메서드 네이밍과 클래스 책임관련에 대한 피드백이였는데, 기존에 인풋 값이 올바른지 체크하고, 올바르다면 해당하는 operator를 변환해서 리턴하도록하는 두가지의 일을 수행하는 메서드를 단순히 setUpOperation이라고 지었었는데 이름만 보았을 땐 메서드에서 어떤 동작을 수행하는지 알기 어려우며, 이를 두개의 메서드로 분리하거나 이름을 바꾸는게 좋다는 피드백을 받았고  객체지향에서 메서드는 를 표현하므로 동사형으로 이름을 짓는게 좋다는 피드백을 받았다.네이밍 관련해서는 평소에도 어떤 이름으로 지을지 고민했었는데 앞으로도 좀 더 고민해봐야겠다.   우선 `Reg` enum은 `CalculatorApp` 내에 있는 게 아니라 외부 패키지로 분리하는 것이 필요해보..
[TIL] 숫자 야구 게임 만들기
·
TIL
오늘 두 번째 개인과제인 숫자 야구 게임만들기라는 과제를 받았다. 숫자 야구 게임의 대략적인 목표와 요구사항목표 : 컴퓨터가 생성한 3자리 숫자를 플레이어가 맞추는 게임숫자에 대한 요구사항각 자리는 1-9 사이의 숫자동일한 숫자는 사용될 수 없다. 즉, 숫자는 중복되지 않아야 한다.ex) 333, 112, 119 불가능게임 결과각 시도에 대해 '스트라이크'와 '볼'의 개수를 출력하여 플레이어가 숫자를 맞출 수 있도록 유도한다.숫자 야구 게임 기능  요구사항정답 숫자 생성하기 정답을 맞추기 위해 숫자를 입력하기 결과값 출력 및 게임 로직 적용하기정답과 입력값을 비교해 힌트를 “볼, 스트라이크, 아웃”으로 표시합니다.스트라이크 : 입력값과 정답을 비교해 같은 자리에 같은 숫자가 있는 경우볼 : 숫자는 같지만..
[TIL] 9월 11일
·
프로그래머스
내적구하기 class Solution { public int solution(int[] a, int[] b) { int answer = 0; // a와 b의 배열 길이는 같기 때문에 // for문을 돌리면서 a의 i번방 값과 b의 i번방 값을 곱해서 곱한 값을 // answer에 더하면서 대입 for(int i = 0; i 실행 결과abresult[1,2,3,4][-3,-1,0,2]3[-1,0,1][1,0,-1]-2 약수의 개수와 덧셈// 두 정수 left와 right가 매개변수로 주어집니다. // left부터 right까지의 모든 수들 중에서, 약수의 개수가 짝수인 수는 더하고, // 약수의 개수가 홀수인 수는 뺀 수를..
[TIL] 계산기 3레벨 마무리
·
TIL
3 레벨에서는 Enum, 람다, 제네릭 클래스,  스트림을 이용해 보는 것이기 때문에 어제 맛만 봤던 Enum과 람다는 제쳐두고 제네릭과 스트림의 대해 알아보고 이용해 봤다.제네릭이란클래스 내부에서 사용할 데이터 타입을 외부에서 지정하는 기법을 의미합니다. 제네릭의 장점제네릭을 사용하면 잘못된 타입이 들어올 수 있는 것을 컴파일 단계에서 방지할 수 있다.클래스 외부에서 타입을 지정해 주기 때문에 따로 타입을 체크하고 변환해 줄 필요가 없다. 즉, 관리하기가 편하다.비슷한 기능을 지원하는 경우 코드의 재사용성이 높아진다.제네릭 사용방법제네릭은 아래표의 타입들이 많이 쓰인다.타입설명TypeElementKeyValueNumber 물론 반드시 한 글자일 필요도 없고 위에 표와 반드시 일치해야 할 필요는 없지만대..
[TIL] 계산기 3레벨 해보기
·
TIL
계산기 3레벨 요구 사항3. Enum, 제네릭, 람다 & 스트림을 이해한 계산기 만들기[ ] 현재 사칙연산 계산기는 (➕,➖,✖️,➗) 이렇게 총 4가지 연산 타입으로 구성되어 있습니다.[ ] Enum 타입을 활용하여 연산자 타입에 대한 정보를 관리하고 이를 사칙연산 계산기 ArithmeticCalculator 클래스에 활용 해봅니다.예시 코드(기존에 작성했던 양의 정수 계산기를 수정)public enum OperatorType { /* 구현 */ } public class ArithmeticCalculator /* Hint */ { /* 수정 */ }[ ] 실수, 즉 double 타입의 값을 전달 받아도 연산이 수행하도록 만들기[ ] 키워드 : 제네릭[ ] 단순히, 기존의 Int 타입을 double 타..