일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- openapi
- pymongo
- PYTHON
- mysql
- flaskframework
- OOP
- flask
- mongodb
- java
- portfolio
- body
- get
- Algorithm
- atlas
- NAS
- POST
- javascript
- fetch
- venv
- json
- frontend
- Crawling
- requests
- backend
- Project
- github
- CRUD
- synology
- CSS
- beautifulsoup
Archives
- Today
- Total
wisePocket
[Algorithm] 두 개의 정수가 일치하는지 여부를 알려주는 계산기 만들기 본문
Java & Algorithm/Algorithm Practice
[Algorithm] 두 개의 정수가 일치하는지 여부를 알려주는 계산기 만들기
ohnyong 2023. 8. 1. 22:57두 개의 정수를 입력 받고 두 수가 일치하는지 여부를 알려주는 계산기
정해진 나의 룰에 따라서 연습 문제를 계속해서 답안을 보지 않고 스스로 풀어보고자 한다.
핵심이 되었던 연습 과정은 아래 두개 과정이다.
물론 이 구조가 이제 Java를 배우면서 더 깊게 변경 될 예정이다.
하지만 해당 카테고리 페이지는
알고리즘 문제 해결을 하기 위한 연습이 주 목적이라서
기본적으로 내가 객체 인스턴스화를 통해 메서드 호출을 구분하면서
"연산"에 집중 할 수 있는 나만의 틀로 활용하고자 한다.
https://ohnyong.tistory.com/177
[Algorithm★] 4칙연산을 해주는 계산기 - 객체 지향 - 혼자 만들기+ChatGPT의 피드백 받기
https://ohnyong.tistory.com/178
[Algorithm★] 4칙연산을 해주는 계산기 - 객체 지향 - 혼자 만들기+ChatGPT의 피드백 적용
조건문만 잘 구성하면 쉽게 풀 수 있다.
1. 문제 파악 과정
- 필요 데이터 파악
+--- 데이터 타입 확인
- 필요 메서드 파악
+--- 기본 입력부 input(){}
+-- 입력 값 갯수 확인
+-- 데이터 제한조건 파악(유효성검사 while loop)
+--- 기본 계산부 calculate(){}
+-- 필요 연산 확인
+-- 필요 조건 확인
+--- 기본 출력부 output(){}
+-- 출력할 데이터, 내용 확인
+--- 각 메서드 별 파라미터 전달 필요 부분 확인
2. 코드 작성 과정
- Main.java 실행부 생성 , Solution.java 클래스(설계도) 생성
- 클래스 member 구현
+--- 필요 데이터 정리에 따라 변수 선언
+--- 기본 생성자 선언
+--- 필요 메서드 정리에 따른 메서드 선언
+-- input(){}과 관련된 메서드부터 작성, 유효성 체크(진입부 메서드)
+-- calculate(){}의 실제 연산 로직 작성
+-- output(){}의 출력 관련 정리
- 실행부 Main.java에서 객체 인스턴스 생성 및 객체로부터 진입부 메서드 호출
1. Main.java
package Algorithm03; public class Main { public static void main(String[] args) { System.out.println("정수 num1과 num2가 매개변수로 주어집니다.\n" + "두 수가 같으면 1 다르면 -1을 retrun하도록 \n" + "solution 함수를 완성해주세요.\n" + "\n" + "제한사항\n" + "0 ≤ num1 ≤ 10,000\n" + "0 ≤ num2 ≤ 10,000\n"); Solution solution = new Solution(); solution.inputNum(); } }
2. Solution.java
package Algorithm03; import java.util.Scanner; public class Solution { int num1; int num2; int result; Scanner sc = new Scanner(System.in); public Solution() { } // 필요 데이터 파악 // 두개의 정수 num1, num2 // 제약 조건 // 0<=num1<=10000 // 0<=num2<=10000 // 정수는 파라미터가 될 것입니다. //inputNum(){} //스캐너 필요 void inputNum() { while (true) { int num1; System.out.println("Num1을 입력해 주세요."); num1 = sc.nextInt(); if (0 >= num1 || num1 >= 10000) { System.out.println("값을 0<=num1<=10000 범위로 넣어주세요."); continue; } this.num1 = num1; break; } while (true) { int num2; System.out.println("Num2를 입력해 주세요."); num2 = sc.nextInt(); if (0 >= num2 || num2 >= 10000) { System.out.println("값을 0<=num2<=10000 범위로 넣어주세요."); continue; } this.num2 = num2; break; } receive(num1, num2); } // 받는 메서드 receive(int num1, num2){} //조건문으로 아래 컨트롤if(){}else if // 비교 연산 같으면(==) 1이란 숫자 return, // 비교 연산 다르면(!=) -1이란 숫자 return void receive(int num1, int num2) { if (num1 == num2) { result = 1; outputResult(result); } else if (num1 != num2) { result = -1; outputResult(result); } else { System.out.println("잘못된 접근입니다."); } } //outputResult(){} void outputResult(int result) { if (result == 1) { System.out.printf("두 숫자는 같으며 결과는 %d 입니다", result); } else if (result == -1) { System.out.printf("두 숫자는 다르며 결과는 %d 입니다", result); } } }
'Java & Algorithm > Algorithm Practice' 카테고리의 다른 글
[Algorithm] 입력한 값 까지의 짝수들의 합을 구하는 계산기 만들기 (0) | 2023.08.01 |
---|---|
[Algorithm] 입력한 각도의 종류를 설명해주는 계산기 만들기 (0) | 2023.08.01 |
[Algorithm] 출생년도를 구해주는 계산기 만들기 (0) | 2023.08.01 |
[Algorithm✅️] 4칙연산을 해주는 계산기 - 혼자 만들기+ChatGPT의 피드백 적용 (0) | 2023.08.01 |
[Algorithm✅️] 4칙연산을 해주는 계산기 - 혼자 만들기+ChatGPT의 피드백 받기 (0) | 2023.08.01 |