Loading...

[swexpert] 2805. 농작물 수확하기 (java)

1) 열의 인덱스가 0, 1, 2, 3 만큼 증가할 때 사각형 가운데 n/2까지는 열의 인덱스(i) +1 까지 왼쪽 오른쪽을 더해가며 검사한다 2) i== n/2+1 부터는 검사 횟수를 n-i 번 왼쪽 오른쪽을 더하며 (총 검사횟수는 줄어듬) 더한다. import java.util.Scanner; public class Solution { static int t; static int n; static int[][] farm; static int sum; public static void main(String[] args) { Scanner sc=new Scanner(System.in); t=sc.nextInt(); for (int tc = 1; tc

[백준] 1244번 스위치 켜고 끄기 (java)

여자의 경우 현재의 위치를 left, right 변수를 둬서 각각 왼쪽, 오른쪽으로 이동하며 비교해나간다. import java.util.Scanner; public class Main { static int n,m; static int[] light=new int[n]; static int[][] student=new int[m][2]; public static void main(String[] args) { Scanner sc=new Scanner(System.in); n=sc.nextInt(); light=new int[n]; for (int i = 0; i < n; i++) { light[i]=sc.nextInt(); } m=sc.nextInt(); student=new int[m][2]; for..

swexpert 1289. 원재의 메모리 복구하기 (java)

flag변수를 둬서 현재 또 바꿔야할 부분이 있는지 검사했습니다. 1. 모든 값이 000 이렇게 0인 상태에서 1로 바꾸는 것이 시작이니 flag를 1로 해서 1이 있는 곳을 검사합니다 2. 해당 위치의 문자를 1로 바꿨다고 가정하고 그 위치의 다음 인덱스부터 이번에는 0이 있는 곳이 있는지 검사합니다. 해당 위치부터 끝까지 숫자가 모두 1로 바뀌었으니 이제 flag변수는 0으로 바꿔줍니다. 3. 이제 더이상 바꿀 문자가 없을 때까지 진행하고 indexOf가 -1이 나오면 없다는 뜻이니 끝내줍니다 import java.util.Scanner; public class Solution { static int t; public static void main(String[] args) { Scanner sc=n..

[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[] ..