[백준] 1152번: 단어의 개수 자바(JAVA)
·
카테고리 없음
https://www.acmicpc.net/problem/1152 1152번: 단어의 개수 첫 줄에 영어 대소문자와 공백으로 이루어진 문자열이 주어진다. 이 문자열의 길이는 1,000,000을 넘지 않는다. 단어는 공백 한 개로 구분되며, 공백이 연속해서 나오는 경우는 없다. 또한 문자열 www.acmicpc.net 풀이 import java.util.Scanner; import java.util.StringTokenizer; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); String str = scanner.nextLine(); scanner.close(); Stri..
[백준] 1085번: 직사각형에서 탈출 자바(JAVA)
·
JAVA/백준(BAEK JOON)
풀이import java.util.Arrays;import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int x = sc.nextInt(); //(x,y)에 위치 int y = sc.nextInt(); int w = sc.nextInt(); //직사각형 오른쪽 위 꼭지점(w,h) int h = sc.nextInt(); int[] arr = new int[4]; arr[0] = h-y; arr[1] = w-x; arr[2] = y; arr[3] = x; Arrays.sort(arr); System.out.pr..
[백준] 2884번: 알람 시계 자바(JAVA)
·
JAVA/백준(BAEK JOON)
풀이문제가 어쩌구 저쩌구 엄청 긴데 몇 시, 몇 분을 입력하면 입력한 시간에서 45분을 뺀 뒤 출력해주라는 문제이다.`하루는 24시간`이고 `1시간은 60분`이라는 것을 염두에 두고 문제를 풀면 되겠다.이게 왜 중요하냐면 우리가 평소에 사용하는 십진법과 받아내림이 다르기 때문에 컴퓨터한테 발생할 수 있는 모든 경우의 수에 대한 대처법을 알려줘야한다. 45분을 빼는 계산에서 발생할 수 있는 경우의 수는 이렇다.`M(분)이 45이상일때`  : M(분)에서 45를 빼주기만 하면 된다.`M(분)이 45미만일때` : H(시)에서 1을 빼고 M(분)에 15를 더해주면 된다.(1시간은 60분)`M(분)이 45미만인데, H(시)가 0일때` : H(시)가 0일 경우 23을 출력해주고 M(분)에 15를 더해준다.impor..
[백준] 2739번 구구단 자바(JAVA)
·
JAVA/백준(BAEK JOON)
풀이`Scanner`와 `for문`을 활용해 문제를 풀었다.`Scanner`를 통해 `N값`을 입력받아 `예제 출력`과 똑같은 결과를 뽑아내면 된다.`for문`을 사용하지 않고도 문제를 풀 수 있는지 궁금해 풀어봤다.컨트롤 c 컨트롤 v를 활용하면 그렇게 오래 걸리지도 않지만 솔직히 굉장히 귀찮은 방법이다.코드 길이가 더 긴 아래 제출답안이 바로 이 노가다 풀이법인데 소모시간은 더 짧다.그럼 이렇게 해도 상관없는거네? 싶은 생각이 잠깐 들었지만 그래도 이건 아닌 것 같다.이 문제 하나만 맞추는 게 목적이라면 사실 별 상관없지만, 유지보수 측면에서 이 코드는 질이 나쁘다고 생각한다. 처음에는 구구단을 만들고 싶었지만 만들다 보니 백 단이 만들고 싶어 졌을 때 이 방법은 너무나도 비효율적이다.출력문을 일일이..
[백준] 2558번 곱셈 자바(JAVA)
·
JAVA/백준(BAEK JOON)
풀이import java.util.Scanner;public class Main{ public static void main(String[] args) { Scanner sc = new Scanner(System.in); int m = sc.nextInt(); //첫번째 세 자리 수 m int n = sc.nextInt(); //두번째 세 자리 수 n sc.close(); System.out.println(m*(n%10)); System.out.println(m*((n/10)%10)); System.out.println(m*(n/100)); System.out.println(m*n); }}세 자리 자연수 2개를 입력받아 두 자연수의 곱을 구하는 문제이다.하지만 곱셈의 답만 구..
[백준] 2439번 별 찍기 - 2 자바(JAVA)
·
JAVA/백준(BAEK JOON)
풀이import java.util.Scanner;public class Main{ public static void main(String[] args) { Scanner sc = new Scanner(System.in); int N = sc.nextInt(); sc.close(); for(int i=1 ; i0 ; j--) { if(j지난번에 풀었던 2438번 별 찍기 - 1 의 변형 문제이다.2438번 문제가 이중 for문을 사용하기만 하면 됐다면 거기에 if문을 추가해 조건을 달아주면 된다. 배열을 사용하지는 않지만 배열처럼 생각하면 쉽다.첫 번째 for문을 행두 번째 for문을 열이라고 생각하면 이해가 쉬울 것 같다. `for(int i=1 ; i`for(int j=N ; j>0 ; j..
[백준] 2438번 별 찍기 - 1 자바(JAVA)
·
JAVA/백준(BAEK JOON)
풀이import java.util.Scanner;public class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); int N = sc.nextInt(); sc.close(); for(int i=1 ; i`다중 for문`을 사용해 *을 찍는 문제입니다.코드만 봐서 저게 뭐 하는 건지 모르겠다면 직접 한 땀 한 땀 써서 손 코딩을 해보면 이해가 쉽습니다.바깥 `for문` i값이 1 증가할 때마다 j 한 세트 실행입니다.j가 1 올라갈때마다 별을 하나씩 출력하고 j가 i보다 더 커져 조건이 맞지 않을 경우 `\n`을 통해 ..
[백준] 1546번 평균 자바(JAVA)
·
JAVA/백준(BAEK JOON)
풀이먼저 문제를 분석해서 단계를 나눴다.과목 개수 N 입력N개의 시험 점수 입력최고점 M 구하기모든 점수에 점수/M*100평균 구하기평균 출력그리고 하나씩 구현했다.배열의 개념을 알고 활용하면 풀 수 있는 문제였다.import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int N = sc.nextInt(); //과목개수 N 입력 double [] score = new double[N]; for(int n=0 ; n느낀점문제가 요구하는 게 많을 경우 문제를 세부적으로 나눠서 기록해두면 풀이가 더 수월해진다는 것을 깨달았다.글로 적어두..
[백준] 1330번 두 수 비교하기 자바(JAVA)
·
JAVA/백준(BAEK JOON)
풀이 `Scanner`와  `if`와  `else  조건문`을 사용할 수 있다면 간단하게 풀 수 있는 문제였다.  `Scanner`를 이용해 정수 A와 B를 입력받고  `if 조건문`을 사용해 A와 B의 값을 비교한 뒤 그에 맞는 비교 연산자`">"` `"를 출력해 주면 된다. 비교는 `if`와 `else`를 적절히 사용했다.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(); ..
그레이트현
'알고리즘' 태그의 글 목록