Loading...

자바 초보에서 알고리즘 B형까지 도전기3 -반복문 필수지식1-

1. 중괄호 쓰지 않는 for문, while문 if문과 마찬가지로 바로 아래 1줄만 for문 내부 코드로 생각하고 이외의 코드는 for문 내부 코드가 아니라고 생각한다 while문도 마찬가지다. public class Main { public static void main(String[] args) { for (int i = 5; i < 7; i++) System.out.println(i); // for 내부 코드 System.out.println(2 * 2); // for 내부 코드가 아님 } } 5 6 4 2. 공백을 두고 한줄로 출력하기 python에서는 리스트에 담아서 *을 붙여서 출력했지만.. java에서는 for문을 이용해 System.out.print(i + " "); 방식으로 가능하다. p..

2023. 2. 21. 23:04

넓이가 가장 넓은 평행사변형 찾기

1. 문제 15941.평행사변형 SW Expert Academy SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 2. 풀이 서로 마주보는 두 쌍의 대변이 서로 평행한 사각형을 평행사변형이라고 부른다. 모든 변의 길이가 N으로 서로 같은 평행사변형 중에서 가장 넓은 평행사변형의 넓이를 출력하라고 하는데... 평행사변형의 넓이를 구하는 공식을 생각해보면.. 하나의 변과 높이의 곱이다. 여기서 조금만 생각해보면.. 모든 변의 길이가 N인 모든 평행사변형에 대해, 넓이가 가장 넓을려면 높이인 b가 가장 커야한다. b의 최댓값은 얼마일까? 다음과 같은 직각삼각형을 생각해볼 수 있다. 직각삼각형의 빗변인 N이 삼각형에서 ..

2023. 2. 21. 21:56

[Java]분수를 소수점 20째자리까지 출력하는 방법

두 자연수 a,b를 입력받아 a/b를 소수점 20째자리까지 출력하라고 한다면 어떻게 해야할까? 일단 생각할 수 있는 방법은 %.20f 로 a/b를 출력하는 것이다. import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc=new Scanner(System.in); int a=sc.nextInt(); int b=sc.nextInt(); System.out.printf("%.20f",(double)a/b); } } 근데 이렇게 하면 정답이 아니다 왜 이런 문제가 발생하냐면 자바에서 float 타입은 소수점 아래 9째자리까지 표현할 수 있고 double 타입은 18째자리까지만 표현할 수 있다...

2023. 2. 21. 03:22

자바 초보에서 알고리즘 B형까지 도전기2 -사칙연산, 조건문 필수지식-

1. 나눗셈 연산의 몫과 나머지 나머지는 %연산으로 구할 수 있지만 몫을 구하는 연산은 python과는 다르게 따로 존재하지 않는다 몫을 구할려면 나눗셈 결과 a/b를 int형 변수에 저장하면 된다 1-1) 형변환에 주의 첫번째 (double)a / b는 a를 double로 바꾼 9.0을 4로 나눈 2.25를 내놓지만 (double) (a/b)는 a/b 결과인 2를 double로 바꾼 2.0을 내놓는다. 그런데 a/b 결과가 왜 2냐고? 정수 a,b끼리의 나눗셈 / 연산은 실수가 아니라 정수로 내놓는다. 나눗셈 연산에서 두 항이 모두 정수형이면 / 연산 결과는 정수형(몫)이 나온다. public class Main { public static void main(String[] args) { int a =..

2023. 2. 20. 23:38

자바 초보에서 알고리즘 B형까지 도전기1 -입력과 출력 필수지식-

1. 문자열 출력 반드시 작은 따옴표가 아닌 큰 따옴표를 사용해야함 2. 문자열 안에 특수문자 사용 문자열은 "" 안에 있는 부분인데, 이러한 문자열 안에 ","을 포함시키고 싶다면 어떻게 해야할까? python과 마찬가지로 대부분의 특수문자에 \을 붙여주면 해당 문자를 실제 그 문자로 인식함 public class Main { public static void main(String[] args) { // 여기에 코드를 작성해주세요. System.out.print("He says \"It\'s a really simple sentence\"."); } } He says "It's a really simple sentence". 3. 줄바꿈 출력 System.out.println(); 을 사용하거나 Sys..

자바에서 숫자를 문자로 문자를 숫자로, 문자열을 배열로 자료형 변환 배우기 + 나눗셈의 몫과 나머지

1. 문제 1288. 새로운 불면증 치료법 SW Expert Academy SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 2. 풀이 import java.util.Scanner; Scanner sc = new Scanner(System.in);으로 입력을 받기 sc.nextInt();는 정수값 입력을 받아 변수에 저장 ---------------------------------------------------------------------------------------- int[] visited = new int[10];은 길이가 10인 정수값 배열을 선언 0~9까지 봤는지 안봤는지를 체크하는 배열이다 -..