[Programmers][Java] 콜라츠 추측 (정수형 자료형의 중요성)
·
수수한 코딩세상/Code Kata
문제 설명1937년 Collatz란 사람에 의해 제기된 이 추측은, 주어진 수가 1이 될 때까지 다음 작업을 반복하면, 모든 수를 1로 만들 수 있다는 추측입니다. 작업은 다음과 같습니다.1-1. 입력된 수가 짝수라면 2로 나눕니다. 1-2. 입력된 수가 홀수라면 3을 곱하고 1을 더합니다. 2. 결과로 나온 수에 같은 작업을 1이 될 때까지 반복합니다.예를 들어, 주어진 수가 6이라면 `6 → 3 → 10 → 5 → 16 → 8 → 4 → 2 → 1` 이 되어 총 8번 만에 1이 됩니다. 위 작업을 몇 번이나 반복해야 하는지 반환하는 함수, `solution`을 완성해 주세요. 단, 주어진 수가 1인 경우에는 0을, 작업을 500번 반복할 때까지 1이 되지 않는다면 –1을 반환해 주세요. 제한 사항입력..
[Java] 자바에서 입력 받는 방법 System.in & Scanner 클래스
·
수수한 코딩세상/Java
자바에서 사용자로부터 키를 입력받는 방법에 대해 정리해 보려고 합니다.보통 자바 문법을 학습하게 되면 사용자로 부터 키를 입력받을 때 다음과 같이 작성해야 한다고 배웁니다.//Scanner 객체 생성Scanner sc = new Scanner(System.in);//입력받은 문자열 변수에 저장String text = sc.nextLine();정확히 키 입력을 받을 때 사용하는 `Scanner`라는 것과 `System.in`이 무엇인지 그리고 어떻게 키를 입력받아서 화면에 출력되는지에 대해 좀 더 자세히 정리해 보려 합니다. System.in`System.in`은 키보드 장치를 직접적으로 제어하고 사용자로 부터 키를 입력받는 표준 입력 스트림 객체입니다. 사용자가 키보드로 입력을 하면 `System.in`..
[Java] 요리 레시피 노트패드로 알아보는 next(), nextLine() 차이점
·
수수한 코딩세상/Java
요리의 레시피 메모장을 만들어 보려 합니다. 좋아하는 요리의 제목을 입력하고, 요리의 별점을 1~5 사이의 소수점으로 입력합니다. 그리고 요리의 레시피를 10 문장 입력하면 요리의 제목을 괄호로 감싸서 출력해 주고, 요리의 별점을 소수점을 제외한 정수로 출력하여 5점 만점의 퍼센트로 출력해주고자 합니다. 그리고 입력한 레시피 10 문장 앞에 번호를 붙여서 출력해 주는 프로그램을 만들어 보고자 합니다. 반복문이나 자료구조를 사용하지않고 단순한 입력을 통해서 출력해 주는 간단한 프로그램을 구상해 보았습니다. `Scanner`를 사용하여 문장을 입력받고, 입력받은 문장을 `String`변수에 저장해 주고 출력해 주는 단순한 로직을 구상하였습니다.요리의 별점은 `double`형 변수에 넣어주어 퍼센테이지 계산을..
[Programmers][Java] 두 수의 곱
·
수수한 코딩세상/Code Kata
문제 설명정수 `num1`, `num2`가 매개변수 주어집니다. `num1`과 `num2`를 곱한 값을 `return` 하도록 `solution` 함수를 완성해 주세요. 제한 사항0 ≤ num1 ≤ 1000 ≤ num2 ≤ 100입출력 예 입출력 예 설명입출력 예 #1num1이 3, num2가 4이므로 3 * 4 = 12를 return 합니다.입출력 예 #2num1이 27, num2가 19이므로 27 * 19 = 513을 return 합니다. Solution.java/*두 수의 곱 함수*/class Solution { public int solution(int num1, int num2) { int answer = 0; if((0문제의 제한 사항에 맞도록 `num1`과 `n..
[Java] 랜덤 닉네임 생성기
·
수수한 코딩세상/Java
문제사용자는 최소 27가지 이상의 닉네임 중 하나를 랜덤으로 출력할 수 있습니다. (아래의 키워드를 사용해주세요!)기철초풍, 멋있는, 재미있는도전적인, 노란색의, 바보같은돌고래, 개발자, 오랑우탄 코드 생각각각의 닉네임을 랜덤으로 추출해야 하기 때문에 Random 라이브러리를 사용해야겠다고 생각했습니다.자료 구조형을 리스트로 하여서 추출해 보기로 했습니다.최종 출력될 자료형은 문자열이 되도록 해야겠다고 생각했습니다.랜덤 닉네임을 생성하는 것은 하나의 기능이기 때문에 실행될 Main Class와 분리해 개별 Class에 작성해야겠다고 생각했습니다. 개발 코드RandomNicknameGenerator Classimport java.util.Random;import java.util.ArrayList;impo..
[Java] Java 란?
·
수수한 코딩세상/Java
코딩 언어를 학습하면서 그 언어에 대한 관련 기술 문서 또는 소개글을 제대로 읽어본 적이 없는 것 같아 이번 기회를 통해 읽어보고 정리하고자 이 글을 작성하게 되었습니다. 미흡하고 설명의 부족함이 있을 수 있지만 제가 이해한 것을 바탕으로 해석하여 작성해 보았습니다. Java 란?Java는 프로그래밍 언어중 하나로, 객체지향 프로그래밍에 특화되어 있는 언어입니다. Java는 C, C++의 언어 구조와 규칙을 기반으로 만들어진 언어입니다. 그래서 기존의 C, C++의 언어 사용 중 불편했던 점을 보완하여 나온 언어라고 할 수 있습니다. Java는 컴퓨터, 태블릿, 스마트폰, 게임 콘솔, 의료 장비 등 다양한 플랫폼에서 실행시킬 수 있는 언어입니다.다양한 플랫폼에서 실행시킬 수 있다는 것은 Java가 이식성..
[Programmers][Java] 두 수의 차
·
수수한 코딩세상/Code Kata
문제 설명정수 `num1` 과 `num2` 가 주어질 때, num1 에서 `num2` 를 뺀 값을 `return`하도록 `soltuion` 함수를 완성해주세요.제한 사항-50000 ≤ num1 ≤ 50000-50000 ≤ num2 ≤ 50000입출력 예입출력 예 설명입출력 예 #1`num1`이 2이고 `num2`가 3이므로 2 - 3 = -1을 `return`합니다.입출력 예 #2`num1`이 100이고 `num2`가 2이므로 100 - 2 = 98을 `return`합니다.Solution.javaclass Solution { public int solution(int num1, int num2) { //제한사항 조건문으로 설정 if(-50000조건문을 통해 제한 사항이 맞는..
[디자인 패턴] 전략 패턴 (Strategy Pattern, 스트래티지 패턴)
·
수수한 코딩세상/디자인 패턴
스트래티지 패턴(Strategy Pattern)은 여러 알고리즘을 하나의 추상적인 접근점을 만들어 접근점에서 서로 교환가능하도록 해주는 패턴입니다.추상적인 접근 : 인터페이스(interface) or 추상클래스(abstract class)교환가능 : 추상적인 클래스끼리 교환 가능하게 기본적인 스트래티지 패턴 다이어그램행위를 클래스로 캡슐화 해서 동적으로 행위를 자유롭게 바꿀 수 있는 패턴전략을 쉽게 바꿀 수 있도록 해주는 패턴구체적인 것을 추상화해서 바라볼 수 있도록 하는 패턴 다음 예제 요구사항을 통해 스트래티지의 사용 예를 살펴보고자 합니다. 예제 요구사항신작게임에서 캐릭터의 무기를 구현해야 한다.무기는 두가지 종류가 있다.칼 (Knife)검 (Sword)public interface Weapon {..
수수한 코딩열공생
'java' 태그의 글 목록 (3 Page)