https://www.acmicpc.net/problem/1620 1620๋ฒ: ๋๋์ผ ํฌ์ผ๋ชฌ ๋ง์คํฐ ์ด๋ค์ ์ฒซ์งธ ์ค์๋ ๋๊ฐ์ ์๋ก๋์ด ์๋ ํฌ์ผ๋ชฌ์ ๊ฐ์ N์ด๋ ๋ด๊ฐ ๋ง์ถฐ์ผ ํ๋ ๋ฌธ์ ์ ๊ฐ์ M์ด ์ฃผ์ด์ ธ. N๊ณผ M์ 1๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ๊ณ , 100,000๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์์ฐ์์ธ๋ฐ, ์์ฐ์๊ฐ ๋ญ์ง๋ ์์ง? ๋ชจ๋ฅด๋ฉด www.acmicpc.net ์ฌ์ค ๋จ์ํ๊ฒ, ๋ฌธ์์ด๋ก ์ ๋ ฅ๋ฐ์ผ๋ฉด ํด๋น ๋ฌธ์์ด์ index ๋ฐํ ์ซ์(index)๋ก ์ ๋ ฅ์ ๋ฐ์ผ๋ฉด ํด๋น index์ ๋ฌธ์์ด์ ๋ฐํํ๋ค. ์ฒ์์ ๊ทธ๋ฅ ArrayList์์ ๊ฒ์ํ๋ ๋ฐฉ์์ ํ๋๋, ์๊ฐ์ด๊ณผ๊ฐ ๋ด๋ค. ๊ทธ๋์ map๊ณผ ๋ฐฐ์ด์ ์ด์ฉํด์ ํธ๋ ์ฝ๋๋ก ๋ฐ๊พธ์๋ค. ์ฝ๋๋, ์๊ฐ์ด๊ณผ๋ก ์คํจํ๋ ์ฝ๋์ ์ฑ๊ณตํ ์ฝ๋ ๋ชจ๋ ์ฒจ๋ถํ๋ค. 1. ArrayList๋กํ์ฌ ์๊ฐ์ด๊ณผ..
HashMap์ ๋ชจ๋ ์ถ๊ฐํด์ Value๊ฐ 2์ธ ๊ฐ๋ค์ ๋บ๋๋ฐ ๋ฉ๋ชจ๋ฆฌ๊ฐ ๋๊ฒ ๋ง์ด ์ฐจ์งํ๋ค . ๊ทธ๋ฆฌ๊ณ map์์ value๋ก ํค๋ฝ๋๋ฐฉ๋ฒ์ด ์๊ฐ์ด ์๋ฌ์๋ค. keyset์ ์ด์ฉํด์ for๋ฌธ์์ value๊ฐ์ ๋บด๋ด๊ณ , value๋ก ์กฐ๊ฑด์ ๊ฑธ์ด์ฃผ๋ฉด ๋๋ค. import java.util.*; class Main { public static void main(String args[]) throws Exception { Scanner kb = new Scanner(System.in); int n=kb.nextInt(); int m=kb.nextInt(); HashMap map = new HashMap(); for(int i=0; i
๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ.. import java.util.*; class Main { public static void main(String args[]) throws Exception { Scanner kb = new Scanner(System.in); int n=kb.nextInt(); int k=kb.nextInt(); int[] arr=new int[n]; for(int i=0; i0){ int temp=arr[i]; // ์ ์ผ ํฐ ๊ธ์ก๋ถํฐ if(k>=temp){ // ๋๋ ์ง ์ ์๋ค๋ฉด cnt+=k/temp; k=k%temp; }else{ // ๋ชป ๋๋๋ฉด ํ๋ ์์ ๊ฐ์ผ๋ก i--; } } System.out.println(cnt); } }
์ฌ๋ฐ๋ฅธ ๊ดํธ๋ ()์ด๋๊น (๋ฉด ์คํ์ ์ถ๊ฐํ๊ณ , )๋ฉด ์ ๊ฑฐ์ํจ๋ค. ๊ทผ๋ฐ ๋ง์ฝ์ ) ๋ฌธ์์ธ๋ฐ ์คํ์ด ๋น์ด์๋ค๋ฉด, ์ด๋ ์ฌ๋ฐ๋ฅธ ๊ดํธ์ด์ด ์๋๋ ์นด์ดํ ํด์ค๋ค. import java.util.*; class Main { public static void main(String args[]) throws Exception { Scanner kb = new Scanner(System.in); Stack stack = new Stack(); int cnt=0; String s=kb.next(); for(int i=0; i
๊ฐ ๋จ์ด๋ค์ ์ ๋ ฌํ๊ณ HashMap์ ๋ฃ์ ํ์, map์ ํฌ๊ธฐ๋ฅผ ์ถ๋ ฅํ๋ฉด ๋๋ค. import java.util.*; class Main { public static void main(String args[]) throws Exception { Scanner kb = new Scanner(System.in); int n=kb.nextInt(); String[] arr=new String[n]; for(int i=0; i
HashMap์ id์ pw ๋ชจ๋ String ํํ๋ก ์ ์ฅํ๋ฉด ๋๋ค. ๊ณต๋ฐฑ์ ๊ธฐ์ค์ผ๋ก ์ ๋ ฅ๋ฐ์ผ๋ , ์ ๋ ฅ๋ฐ์ ๋ฌธ์๋ฅผ split์ผ๋ก ๊ณต๋ฐฑ์ ๊ธฐ์ค์ผ๋ก ๋๋์ด id์ pw๋ฅผ ๋ฐฐ์ดํํ๋ก ๋๋ ์ฃผ๊ณ Key : id ( ๋ฐฐ์ด์[0] ) // Value : pw ( ๋ฐฐ์ด์[1] ) ์ ๊ตฌ์กฐ๋ฅผ ๋๊ฒ ๋๋ค. ์ดํ, ๋น๋ฐ๋ฒํธ๋ฅผ ์ฐพ์ผ๋ ค๋ ์ฌ์ดํธ ์ฃผ์๋ฅผ ์ ๋ ฅ๋ฐ์ผ๋ฉด map.get()ํจ์๋ฅผ ์ด์ฉํด์ Value์ธ ๋น๋ฐ๋ฒํธ๋ฅผ ์ถ๋ ฅํด์ฃผ๋ฉด ๋๋ค. import java.util.*; class Main { public static void main(String args[]) throws Exception { Scanner kb = new Scanner(System.in); int n=kb.nextInt(); int m=kb.nextInt(..
๋ ์ง์ ์ด ๊ฒน์น๋ ๊ฒฝ์ฐ ( ํํ ํ๋ ๊ฒฝ์ฐ ) = ๊ธฐ์ธ๊ธฐ๊ฐ ๊ฐ๋ค๋ ๊ฒ์ด๋ค. 4๊ฐ์ ์ขํ์์ ์๋ก 2๊ฐ์ฉ ์ด์ด์ 2๊ฐ์ ์ง์ ์ด ๋ง๋ค์ด์ก์๋, ๊ทธ ์ง์ ์ ๊ธฐ์ธ๊ธฐ๊ฐ ๊ฐ์๊ฒ ์๋ค๋ฉด return 1 ๊ธฐ์ธ๊ธฐ๊ฐ ๊ฐ๋ค = ( y์ขํ์ ์ฐจ์ด / x ์ขํ์ ์ฐจ์ด ) ๊ฐ ๊ฐ๋ค๋ ๊ฒ ( y๊ฐ์ ์ฆ๊ฐ๋ / x๊ฐ์ ์ฆ๊ฐ๋ ) class Solution { public double find(int[] a, int[] b){ // ๊ธฐ์ธ๊ธฐ ๊ณต์ = y๊ฐ์ ์ฆ๊ฐ๋ / x๊ฐ์ ์ฆ๊ฐ๋ return (double)(b[1]-a[1])/(b[0]-a[0]); } public int solution(int[][] dots) { int answer = 0; if (find(dots[0],dots[1])==find(dots[2],dots[3])){..
lines์ ๊ธธ์ด๋ 3์ผ๋ก ์ ํด์ ธ์๊ธฐ๋๋ฌธ์ ์ ๋ถ์ ๋ฌด์กฐ๊ฑด ์ด 3๊ฐ์ด๋ค. ๊ทธ๋ฆฌ๊ณ ์ขํ๊ฐ ์๋ '๊ธธ์ด'๋ง ๊ตฌํ๋ ๊ฒ์ด๊ธฐ๋๋ฌธ์.. ๊ฒน์น๋ ๋ถ๋ถ์ด 2์ด์์ธ๋ถ๋ถ์ countํด์ฃผ๋ฉด ๋๋ค. ์ฒ์์๋, ๋ฌธ์์ด ํน์ ์ซ์๋ก ๊ฐ๊ฐ์ lines๋ฅผ ์์๋ก ๋ฃ๊ณ , ๊ฐ์ ์์๊ฐ 2๊ฐ ์ด์์ฉ ์์ผ๋ฉด countํ๋ฉด ๋ ๊น ํ๋๋ ์ง์ง ์ด๋ ๊ฒ๋ง ์ง๊ฒ๋๋ฉด ํจ์จ์ ์ด์ง ๋ชปํ๋ค. ( ์๋์๊ฐ์๋ ) ๊ทธ ๋ค์์, ์ต๋น๊ฐ ๊ตฌํ๋ฏ์ด ๋น ๋ฐฐ์ด์ ํ๋ ์์ฑํด์, count๋ index์ ์์น๊ฐ 2์ด์์ ๋ฝ์๊นํ๋๋ line ์์๊ฐ ์์๋ ์์๊ธฐ์ ์๋ผ์, ์ค๋๋ง์ HashMap์ ์ผ๋ค. line ๋ฐฐ์ด๋ง๋ค ์ต์๊ฐ, ์ต๋๊ฐ์ ๊ตฌํด์ map์ ๊ทธ๋๋ก ์ถ๊ฐํด์ฃผ๋ฉด ๋๋ค. ๊ทธ๋ฆฌ๊ณ map์ value๊ฐ 2์ด์์ธ๊ฒ๋ค์ ๋ชจ๋ ๊ฒน์น๋ ๋ถ๋ถ ! import java.ut..