Loading...

[swexpert] 1284. 수도 요금 경쟁 (java, D2)

package com.ssafy.edu; import java.util.Scanner; public class Solution { public static void main(String[] args) { Scanner sc=new Scanner(System.in); int t=sc.nextInt(); for (int tc = 1; tc r){ caseTwo+=(w-r)*s; } System.out.printf("#%d %d\n",tc,caseOne

[swexpert] 1928. Base 64 Decoder (D2, java)

다행이도 자바는 라이브러리를 제공해준다 엔코딩, 디코딩을 처음 해보는 것 같다 import java.util.Base64.Decoder; import java.util.Scanner; public class Solution { public static void main(String[] args) { Scanner sc=new Scanner(System.in); int t=sc.nextInt(); sc.nextLine(); for (int i = 0; i

[swexpert] 1954. 달팽이 숫자 (java, D2)

n이 4이면 4의 제곱인 16까지 증가시키며 써주면 된다. 이동 방향을 보면 x값 증가, y 값 증가, x 값 감소, y값 감소 순으로 이동한다. dr, dc에 위의 순서에 해당하게 써준다. cur는 방향을 바꿀 때마다 1씩 증가한다. cur를 4로 나눠주면 순환되는 이동 방향에 따라 증가 혹은 감소시키는 값이 나오게 된다. 계속 진행하다가 num이 n*n 보다 커지면 끝내준다. import java.util.Scanner; public class Solution { static int dr[]= {1,0,-1,0}; static int dc[]= {0,1,0,-1}; public static void main(String[] args) { Scanner sc=new Scanner(System.in); ..

[swexpert] 2019. 더블더블 (java, D1)

Math.power는 실수형을 반환하므로 int로 치환한 후 출력해주면 된다 import java.util.Scanner; public class Solution { public static void main(String[] args) { Scanner sc=new Scanner(System.in); int n=sc.nextInt(); for (int i = 0; i

[swexpert] 2029. 몫과 나머지 출력하기 (D1 , java)

import java.util.Scanner; public class Solution { public static void main(String[] args) { Scanner sc=new Scanner(System.in); int t=sc.nextInt(); for (int i = 0; i < t; i++) { int a=sc.nextInt(); int b=sc.nextInt(); System.out.printf("#%d %d %d\n",i+1,a/b,a%b); } sc.close(); } }

[swexpert] 2050. 알파벳을 숫자로 (java)

풀이 자바는 문자열의 문자 접근을 charAt을 이용해서 한다. 명시적 형변환 한 다음, 64를 빼서 ('A' 는 65이다) 1부터 나오도록 구현한다 문자를 숫자로 변환하는 방법은 앞에 (int)를 붙여주고 숫자를 문자로 바꿔줄 때는 (char)을 붙여준다 ** 추가 '0' 은 48이다. 이를 간과해서 'A'+'0'는 숫자가 된다고 생각했는데 113이 되어서 당황했었다. (65+48===113이 된 것) 'A'-0 으로 해주면 그제서야 제대로 숫자로 형변환된다 즉, (int)s.charAt(i)로 해줘도 되지만 s.charAt(i)-0 이렇게 해줘도 된다. import java.util.Scanner; public class Solution { public static void main(String[] ..

[swexpert] 2369. B theater (java)

풀이. 극장에는 n줄으로 이루어져있다 l ~ r 만큼 사람들이 연속으로 앉아있다 인원수는 r-l+1이다. n줄의 인원수를 더해서 출력하면 된다. package com.ssafy.edu; import java.util.Scanner; public class Solution { public static void main(String[] args) { Scanner sc=new Scanner(System.in); int t=sc.nextInt(); for (int i = 0; i < t; i++) { int n=sc.nextInt(); long sum=0; for (int j = 0; j < n; j++) { int l=sc.nextInt(); int r=sc.nextInt(); sum+=r-l+1; } Sy..

[swexpert] 1859. 백만장자 프로젝트 (java)

함정: 데이터 범위 초과 푸는 방법: 뒤에서 부터 돌면서 풀기 1) 풀이 3 5 9의 경우 뒤집어서 9 5 3 으로 본다 1. max_value를 갱신해나간다 2. max_value - 현재 값을 결과값으로 더해 나간다. 뒤에서부터 도는 이유는 나중에 나오는 가장 큰 값을 찾기 위해서이다. current_value 9 5 3 max_value 9 9 9 diff=max_value-current_value 0 4 6 답은 모든 차이값 diff를 더한 값이다. 2) 함정 n은 총 1000000로 10^6이고 각 금액의 최대값은 10000이다. 즉 모든 금액이 10000이고 n=10^6이라면 모든 값을 다 더한 결과값이 최대 10^4*10^6 = 10^10 로 메모리가 초과하게 된다. (int의 크기는 최대 ..

[swexpert] 2058. 자릿수 더하기 (java, javascript)

1. 자바 풀이 문자열은 바로 int변환이 되지만 문자char는 되지 않길래 -'0'으로 변환했다 import java.util.Arrays; import java.util.Scanner; public class Solution { public static void main(String[] args) { Scanner sc=new Scanner(System.in); int n=sc.nextInt(); String s=Integer.toString(n); int sum=0; for(int i=0; iacc+Number(cur),0); }

[swexpert] 2063. 중간값 찾기 (java)

배열을 입력받고 정렬 후 n/2 위치에 있는 값 출력 import java.util.Arrays; import java.util.Scanner; public class Solution { public static void main(String[] args) { Scanner sc=new Scanner(System.in); int n=sc.nextInt(); int[] a=new int[n]; for(int i=0;i