loading
반응형

Java 114

[JAVA] 난수(랜덤 숫자) 생성 방법(Math.random, Random)

안녕하세요 개발을 하다보면 확률을 이용한 프로그램을 개발할 때가 많습니다 대표적으로 로또번호 뽑기, 랜덤한 숫자를 출력하여 퀴즈를 맞추는 프로그램 등이 있습니다 이번 포스팅에서는 자바의 난수, 랜덤 숫자를 생성하는 방법에 대해서 알아보겠습니다 목차 난수(랜덤 숫자)란? Math.random() Random클래스 setSeed()란? 로또 번호 생성기 덧셈 퀴즈 난수(랜덤 숫자)란? 난수(亂數)란 정의된 범위 내에서 무작위로 추출된 수를 일컫는다. 난수는 누구라도 그 다음에 나올 값을 확신할 수 없어야 한다. 출처 : 위키백과 말 그대로 무작위로 나온 숫자를 의미합니다 자바에서는 난수를 구하는 방법에 대표적으로 두 가지가 있습니다 Math클래스의 random() 메서드를 사용하는 방법 Random클래스를 ..

[JAVA] Math.abs(절대값 구하기) 사용법 정리

안녕하세요 프로그램을 개발하다 보면 음수로 나온 값을 절댓값으로 변경하여 계산을 해야 하는 경우가 있습니다 이번 포스팅에서는 음수를 양수로 바꿔주는 메서드 abs()에 대해서 알아보겠습니다 목차 abs()란? abs() 사용법 abs() 사용 예제 추가사항 abs()란? abs() 메서드는 자바의 기본 java.lang.Math클래스 안의 메서드 중 하나입니다 음수를 양수로 변경 양수는 그대로 표시하여 절대값을 리턴해줍니다 추가로 int 또는 long의 경우 최소음수인 경우에는 절댓값이 아닌 음수를 그대로 리턴해줍니다 abs() 사용법 abs(double a) abs(float a) abs(int a) abs(long a) double, float, int, long 총 4개의 타입으로 입력이 가능합니다..

[백준알고리즘/기본 수학 1단계] 1011번 문제 : Fly me to the Alpha Centauri

안녕하세요 백준 알고리즘 단계별로 풀어보기 8단계 1011번 문제 Fly me to the Alpha Centauri 풀어봤습니다 이번 문제는 어렵네요... ㅠ 어떻게 최소거리를 구하는지 방법은 알았지만 그걸 프로그래밍 하는 단계가 어려웠습니다 다른 포스팅을 통해 제곱근 개념을 몰랐다면 못 풀었을 문제였을 것 같습니다 제곱근을 사용하니 간단하게 풀었습니다 제가 푼 방법에 대해서 설명해보겠습니다! 문제 링크입니다 https://www.acmicpc.net/problem/1011 1011번: Fly me to the Alpha Centauri 우현이는 어린 시절, 지구 외의 다른 행성에서도 인류들이 살아갈 수 있는 미래가 오리라 믿었다. 그리고 그가 지구라는 세상에 발을 내려 놓은 지 23년이 지난 지금, ..

[JAVA] Math.max/min(두 인자를 비교하여 최대/최소값 구하기) 개념과 사용법 정리

안녕하세요 프로그램을 개발하다 보면 두 개의 값을 비교하여 결과를 출력해야 할 때가 있습니다 이번 포스팅에서는 두 개의 값을 비교하는 max메서드와 min메서드를 알아보겠습니다 목차 Max() / Min()은? Max() / Min()의 사용법 Max() / Min()의 사용 예제 Max() / Min()은? Max()와 Min() 메서드는 자바의 기본 java.lang.Math클래스 안의 메서드 중 하나입니다 두 개의 인자를 비교하여 큰 값을 리턴하거나 작은 값을 리턴해줍니다 오로지 숫자(정수, 실수)만 비교가 가능하며 문자열은 비교가 불가능합니다 두 값이 같은 경우는 동일한 값을 리턴해줍니다 Max() / Min()의 사용법 Math.Max(double a, double b); // Math.Min(..

[백준알고리즘/기본 수학 1단계] 10757번 문제 : 큰 수 A+B

안녕하세요 백준 알고리즘 단계별로 풀어보기 8단계 10757번 문제 큰수 A+B를 풀어봤습니다 이번 문제는 BigInteger를 사용하면 간단하게 풀 수는 있습니다 하지만 시간이... 시간을 줄이려면 알고리즘을 만들어 풀어야합니다 제가 풀은 방법에 대해서 설명해보겠습니다! 문제 링크입니다 https://www.acmicpc.net/problem/10757 10757번: 큰 수 A+B 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 문제 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 A와 B가 주어진다. (0 < A,B < 1010000) 출력 첫째 줄에 A+B를 출력한다. 문제 풀이 첫 번째 방법 Bi..

[백준알고리즘/기본 수학 1단계] 2839번 문제 : 설탕 배달

안녕하세요 백준 알고리즘 단계별로 풀어보기 8단계 2839번 문제 설탕 배달을 풀어봤습니다 이번 문제는 나눗셈과 나머지에 대한 경우의 수를 잘 생각하면 어렵지 않게 풀 수 있는 문제입니다 제가 풀은 방법에 대해서 설명하겠습니다 문제 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그램 봉지와 5킬로그램 봉지가 있다. 상근이는 귀찮기 때문에, 최대한 적은 봉지를 들고 가려고 한다. 예를 들어, 18킬로그램 설탕을 배달해야 할 때, 3킬로그램 봉지 6개를 가져가도 되지만, 5킬로그램 3개와 3킬로그램 1개를 배달하면, 더 적은 개수의 봉지를 배달할 수 있다. 상근이가 설탕을 정..

[JAVA] 재귀함수(Recursion Function) 개념 및 예제

안녕하세요 최근에 알고리즘 공부를 하면서 재귀함수를 응용해서 풀은 문제가 있습니다 실제 회사에서 개발을 하면서 거의 써본적이 없는데 알고리즘을 풀다보면 종종 쓰일 것 같습니다 이번 기회에 재귀함수에 대해서 개념 및 예제를 정리해보겠습니다 목차 재귀함수란? HelloWorld 반복출력 1 + N까지의 합계출력 파보나치 수열구하기 배열에서 최대값 찾기 재귀함수란? 함수가 직접 또는 간접적으로 자신을 호출하는 프로세스를 재귀함수라고 합니다 재귀 알고리즘을 이용하면 복잡한 문제들도 간단하게 해결할 수 있습니다 반복문도 마찬가지지만 재귀함수도 종료지점을 제대로 생각하지 않고 구현을 하면 스택오버플로우가 발생할 수 있으니 항시 주의해서 구현을 해줘야합니다 HelloWorld 반복출력 public class Plus..

[JAVA] HashTable의 개념 및 사용법 정리

안녕하세요 이번 포스팅에서는 HashTable에 대해서 알아보겠습니다 목차 HashTable이란? HashTable 선언하기 HashTable 값 추가하기 HashTable 값 삭제하기 HashTable 크기 구하기 HashTable 값 출력하기 HashTable이란? HashMap과 구조가 비슷하지만 용도는 다릅니다 HashTable은 키와 값을 1:1형태로 가져가며 HashTable에 저장이 됩니다 -> 키는 값을 식별하기 위한 고유한 키, 값은 키가 가진 값을 의미합니다 HashMap과 반대로 동기화가 이루어집니다 HashMap에서는 값으로 null이 입력이 가능하지만 HashTable에서는 null 입력이 불가능합니다 위와 같이 키, 값 형태를 가진다고 보면됩니다 키는 중복이 안 되지만 값은 중복..

[JAVA] HashMap의 개념 및 사용법 정리

안녕하세요 이번 포스팅에서는 HashMap에 대해서 알아보겠습니다 목차 HashMap이란? HashMap 선언하기 HashMap 값 추가하기 HashMap 값 삭제하기 HashMap 크기 구하기 HashMap 값 출력하기 HashMap이란? HashMap은 Map인터페이스에 속해있는 컬렉션입니다 Map 인터페이스의 기본 기능들을 전부 구현할 수 있습니다 데이터들은 모두 (키, 값)의 1:1 구조로 되어있는 Entry로 되어있습니다 같은 키의 값을 삽입하려고하면 해당 키의 값이 변경이 됩니다 키는 고유한 속성이지만 값은 고유한 속성이 아닙니다 키는 중복이 되지 않지만 값은 중복이 될 수 있습니다 다른 특징으로는 HashTable과 유사하지만 동기화가 되지 않고 Null값도 저장이 가능합니다 HashMap ..

[백준알고리즘/기본 수학 1단계] 2775번 문제 : 부녀회장이 될테야

안녕하세요 백준 알고리즘 단계별로 풀어보기 8단계 2775번 문제 부녀회장이 될테야를 풀어봤습니다 이번 문제는 알고리즘에 대해서는 어떻게 할지 금방 해결이 되었는데 알고리즘을 프로그램을 구현을 하려니 머리가 아팠던 문제였습니다 제가 풀은 방법에 대해서 설명하겠습니다 문제 링크입니다 https://www.acmicpc.net/problem/2775 2775번: 부녀회장이 될테야 첫 번째 줄에 Test case의 수 T가 주어진다. 그리고 각각의 케이스마다 입력으로 첫 번째 줄에 정수 k, 두 번째 줄에 정수 n이 주어진다 www.acmicpc.net 문제 평소 반상회에 참석하는 것을 좋아하는 주희는 이번 기회에 부녀회장이 되고 싶어 각 층의 사람들을 불러 모아 반상회를 주최하려고 한다. 이 아파트에 거주를..

반응형