Home

[JAVA] 백준2562번 (배열)

문제 9개의 서로 다른 자연수가 주어질 때, 이들 중 최댓값을 찾고 그 최댓값이 몇 번째 수인지 입력 : 첫째 줄부터 아홉 번째 줄까지 한 줄에 하나의 자연수가 주어짐 출력 : 첫째 줄에 최댓값을 출력하고, 둘째 줄에 최댓값이 몇 번째 수인지 흐름 스캐너로 num을 받기 for문 9번까지 반복해서 입력하기 첫째줄 최대값, 둘째줄 최대값이 몇 번째 수인지 import java.util.Scanner; public class B2562 { public static void main(String[] args) { //수를 입력받기 ...

Read more

[JAVA] Json 페어 문제

JSON? JavaScript Object Notation -> 데이터 교환을 위해 만들어진 객체 형태의 포맷 JSON과 JS의 차이 JSON.stringify() 메서드는 JavaScript 값이나 객체를 JSON 문자열로 변환합니다. 선택적으로, replacer를 함수로 전달할 경우 변환 전 값을 변형할 수 있고, 배열로 전달할 경우 지정한 속성만 결과에 포함합니다. 문자 반환 재귀함수 문제 페어 풀이 import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper;...

Read more

[JAVA] 원금 2배되는 기간

문제: 원금 2배되는 기간 해결 과정 기간이 되는 것 선언 -> 빠진 것: 연이율, 원금 if문 사용해서 2배가 되는 조건 걺 -> if문이 아니라 while을 사용해서 조건이 만족되면 year을 올려야 됨 -> 조건: 원금*연이율이 2배가 되기 전까지 구현 public class Main { public int computeWhenDouble(double interestRate) { // TODO: double rate = 1 + interestRate / 100; //연이율 double principal...

Read more

[JAVA] 백준 10818번 (배열)

문제 N개의 정수가 주어진다. 이때, 최솟값과 최댓값을 구하는 프로그램을 작성 입력: 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수 출력: 첫째 줄에 주어진 정수 N개의 최솟값과 최댓값을 공백으로 구분해 출력 흐름 N개의 정수가 들어가는 배열 최댓값 최솟값을 구하기 -> for문을 사용해서 비교 -> 비교해서 풀려고 했는데, 구상이 잘 안돼서 sort로 바꿈 출력할 때 공백을 넣어줘야 됨 구현 import java.util.Arrays; import java.util.Scanner; pub...

Read more

[JAVA] hashmap을 사용해 배열의 첫 요소와 마지막 요소 받기

hashmap을 사용해 배열의 첫 요소와 마지막 요소 받기 //첫 요소와 마지막 요소 HashMap을 리턴 package com.codestates.coplit; import java.util.*; public class Main { public HashMap<String, String> transformFirstAndLast(String[] arr) { // TODO: if (arr.length == 0){ return null; } //빈 배열일 때 null 반환 HashMap <String...

Read more

재귀함수

재귀함수의 특징 재귀함수의 장점 코드 간결, 수정 용이 변수를 여러개 사용할 필요가없음 재귀함수의 단점 코드의 흐름을 직관적으로 파악하기 어려움 반복하여 매서드를 호출하며 지역변수, 매개변수, 반환값을 모두 process stack에 저장 → 반복문에 비해서 메모리를 더 많이 사용하게 되어 많은 메모리를 사용 메서드를 호출하고 매서드가 종료된 이후에 복귀를 위한 컨텍스트 스위칭 비용이 발생 재귀함수의 템플릿 public type recursive(input1, input2, ...) { // Base Case : 문제를 더 이상 쪼갤 수 없는 경우 if (문제...

Read more

[JAVA] 재귀함수 연습 문제

1. 1부터 num까지의 합을 리턴 return num + sumTo(num -1); num에 -1을 빼서 n번째까지 계속 반복 2. 홀수인지 여부 확인 if (num == 0) return false; if (num == 1) return true; return isOdd(num -2) 계속 2씩 빼면서 0이나 1이 나올 때까지 반복 3. n! return num * factorial(num -1); n* n-1 반복 4. 피보나치 수열 return fibonacci(num -1) + fibonacci(num -2); 피보나치(앞에 두 수의 합) 5. 배열의 합 int head = arr[0]; int...

Read more