์ต๋น๊ฐ๋ง ์ ์ํด์ ๊ตฌํ๋ฉด ๋๋ค. ์ต๋น๊ฐ์ด 2๊ฐ ์ด์์ผ๋๋ 2๋ฒ์งธ๋ก ์์๊ฐ์ ์ถ๋ ฅํ๋๊ฒ์ด๊ณ , ์์๊ฐ ๋ค์ด์ฌ ์๋ ์๊ธฐ์ 1์ฐจ์ ๋ฐฐ์ด์ ์์ฑํด์ ๋น๋์๋ฅผ ๊ตฌํ๋ ๋ฐฉ์์ ์๋๋ค. import java.util.*; class Main { public static void main(String args[]) throws Exception { Scanner kb = new Scanner(System.in); int n=kb.nextInt(); int[] arr=new int[n]; int[][] cnt=new int[4001][2]; // ์ต๋น๊ฐ ๊ตฌํ 2์ฐจ์๋ฐฐ์ด ( ์์:0์ด ์์:1์ด ) int sum=0; int max=Integer.MIN_VALUE; // ์ต๋๊ฐ ์ฐพ๊ธฐ ์ํ ๋ณ์ for(int i=0; i0..
import java.util.*; class Solution { public int[] solution(int[] numlist, int n) { int[] answer=new int[numlist.length]; ArrayList list=new ArrayList(); for(int i=0; ib){ return -1; }else{ return 1; } }else{ return absA-absB; } } }); for(int i=0; i
๊ทธ๋ฅ ๊ตฌํ๋ฌธ์ .. import java.util.*; class Main { public int solution(int chicken) { int answer = 0; int temp = 0; while (chicken >= 10) { answer += chicken / 10; temp = chicken % 10; chicken = chicken / 10 + temp; } return answer; } }
Hashing ๋ถ๋ถ ์ฑ๊ณต์๋ธํ์คํฌ ์๊ฐ ์ ํ๋ฉ๋ชจ๋ฆฌ ์ ํ์ ์ถ์ ๋ต๋งํ ์ฌ๋์ ๋ต ๋น์จ 1 ์ด 512 MB 32492 10101 8685 30.995% ๋ฌธ์ APC์ ์จ ๊ฒ์ ํ์ํ๋ค. ๋ง์ฝ ์ฌ๋ฌ๋ถ์ด ํ๊ต์์ ์๋ฃ๊ตฌ์กฐ๋ฅผ ์๊ฐํ๋ค๋ฉด ํด์ ํจ์์ ๋ํด ๋ฐฐ์ ์ ๊ฒ์ด๋ค. ํด์ ํจ์๋ ์์์ ๊ธธ์ด์ ์ ๋ ฅ์ ๋ฐ์์ ๊ณ ์ ๋ ๊ธธ์ด์ ์ถ๋ ฅ์ ๋ด๋ณด๋ด๋ ํจ์๋ก ์ ์ํ๋ค. ํด์ ํจ์๋ ๋ฌด๊ถ๋ฌด์งํ ์์ฉ ๋ถ์ผ๋ฅผ ๊ฐ๋๋ฐ, ๋ํ์ ์ผ๋ก ์๋ฃ์ ์ ์ฅ๊ณผ ํ์์ ์ฐ์ธ๋ค. ์ด ๋ฌธ์ ์์๋ ์ฌ๋ฌ๋ถ์ด ์์ผ๋ก ์ ์ฉํ๊ฒ ์ธ ์ ์๋ ํด์ ํจ์๋ฅผ ํ๋ ๊ฐ๋ฅด์ณ์ฃผ๊ณ ์ ํ๋ค. ๋จผ์ , ํธ์์ ์ ๋ ฅ์ผ๋ก ๋ค์ด์ค๋ ๋ฌธ์์ด์๋ ์๋ฌธ ์๋ฌธ์(a, b, ..., z)๋ก๋ง ๊ตฌ์ฑ๋์ด์๋ค๊ณ ๊ฐ์ ํ์. ์์ด์๋ ์ด 26๊ฐ์ ์ํ๋ฒณ์ด ์กด์ฌํ๋ฏ๋ก a์๋ 1, b์๋ 2, c์๋ 3, ...
์ต๋๊ณต์ฝ์์ ์ต์๊ณต๋ฐฐ์ ---> ์ ํด๋ฆฌ๋ ํธ์ ๋ฒ ๐ก ์ต๋๊ณต์ฝ์ int gcd(int a, int b){ if(b==0) return a; return gcd(b,a%b); } ๐ก ์ต์๊ณต๋ฐฐ์ a*b / ์ต๋๊ณต์ฝ์ import java.util.*; class Main { public static void main(String args[]) throws Exception { Scanner kb = new Scanner(System.in); int a = kb.nextInt(); int b = kb.nextInt(); int max=gcd(a,b); // ์ต๋๊ณต์ฝ์ int min=(a*b)/max; System.out.println(max); System.out.print(min); } static int g..
keyinput.length ๋งํผ ๋ฐ๋ณต๋ฌธ์์ ์กฐ๊ฑด๋ฌธ๋ง ์ ๊ฑธ์ด์ฃผ๋ฉด ํด๊ฒฐ๋๋ ๋ฌธ์ ์ฃผ์ํ ์ ์ ์ฃผ์ด์ง board๊ธธ์ด/2 ์ ํด๋นํ๋ ๊ฐ๊น์ง๋ง ์์ง์ผ ์ ์๋ค๋๊ฒ ( ์์ ์ฒ๋ฆฌ ์ ๊ฒฝ์ฐ๊ธฐ ) class Solution { public int[] solution(String[] keyinput, int[] board) { int[] answer = {0,0}; for(int i=0; i answer[0] if(keyinput[i].equals("left")||keyinput[i].equals("right")){ if(keyinput[i].equals("left")){ if(answer[0]>-(board[0]/2)) answer[0]--; }else{ if(answer[0] answer[1] }else{ if(k..
ํ๋ณํ๋ง ์ํด์ ํ์ด์ฃผ๋ฉด ๋๋ค. ์ฒซ๋ฒ์งธ ์ฝ๋ import java.math.BigInteger; class Solution { public String solution(String bin1, String bin2) { String answer = ""; BigInteger a=new BigInteger(bin1,2); BigInteger b=new BigInteger(bin2, 2); BigInteger sum=a.add(b); answer=sum.toString(2); return answer; } } ์กฐ๊ธ ๋ ์งง๊ฒ ๋ฐ๊พผ ๋๋ฒ์งธ ์ฝ๋ import java.math.BigInteger; class Solution { public String solution(String bin1, String bin2) ..
n๊ฐ์ค์์ r๊ฐ๋ฅผ ์ ํํ๋ ์กฐํฉ ๋ฐฉ๋ฒ.. nCr => n-1Cr + n-1Cr-1 .. DFS ์ด์ฉํด์ ํ์ด. class Solution { int[][] dy=new int[31][31]; public int DFS(int n, int r){ if(dy[n][r]>0) return dy[n][r]; if(r==0||n==r){ return 1; }else return DFS(n-1,r-1)+DFS(n-1,r); } public int solution(int balls, int share) { return DFS(balls, share); } }