์ ๋ ฌ
[JAVA] ๋ฐฑ์ค 11004๋ฒ ใK๋ฒ์งธ ์ใ
์ด ๋ฌธ์ ๋, BufferedReader ๋ก ์ ๋ ฅ ๋ฐ๊ณ , sort() ๋ฉ์๋๋ฅผ ์ฐ๋ฉด ํด๊ฒฐ๋๊ธด ํ์ง๋ง, ์ ๋ ฌ ์๊ณ ๋ฆฌ์ฆ ์ ํ ํน์ฑ์, ์ ๋ ฌ์ ๊ตฌํํ๊ฒ๋ ์ค๊ณํด๋จ์ ๊ฒ์ด๋ผ ์๊ฐ์ด ๋ค๊ธฐ๋ ํ๊ณ , ์๋๋ ๋๋ฆฐ ๊ฒ ๊ฐ์ ์ฐพ์๋ณด๋ Quick Sort ์๊ณ ๋ฆฌ์ฆ์ ์ด์ฉํด์ ํธ๋ ์ฌ๋๋ค์ด ๋ง์๋ค. double pivot quick sort ๋ผ๋ quick sort ์ ๋ค๋ฅธ ๋ฒ์ ๋ ์์์ง๋ง, Quick sort ์์ฒด๋ฅผ ์ฒ์ ์ ํด๋ด์, ์ผ๋จ Quick Sort ๋ฅผ ๊ณต๋ถํด๋ณด๊ณ ์ฝ๋๋ฅผ ์์ฑํ์ฌ ์ ์ถํ์๋ค. ์ค๋ฆ์ฐจ์ ๊ธฐ์ค์ผ๋ก ์ค๋ช ํด๋ณด๊ฒ ๋ค. ๊ฐ๋จํ๊ฒ ์ค๋ช ํ๋ฉด, ๊ธฐ์ค ๊ฐ์ ํ๋ ์ ํ๊ณ , start index 0์์๋ถํฐ ๊ธฐ์ค๊ฐ๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ์ ๋ฐ๊ฒฌํ๊ณ , end index ๋์์๋ถํฐ ๊ธฐ์ค๊ฐ๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ๊ฐ์ ๋ฐ๊ฒฌํ ์, ๋์์ ์์น๋ฅผ ..
[JAVA] ๋ฐฑ์ค 11652๋ฒ ใ์นด๋ใ
์ต๊ทผ์, Map ์ฌ์ฉํด์ ์นด์ดํ ํ๋ ๋ฉ์๋๋ฅผ ๋ง์ด ์์ฑํด๋ดค๋๊ฒ, ์ด ๋ฌธ์ ๋ฅผ ํธ๋๋ฐ ๋์์ ์ฃผ์๋ค. ํ์คํ, ์ฌ๋ฌ ์๊ณ ๋ฆฌ์ฆ์ ํ์ด๋ณด๋๊ฒ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ๋ค์ํ ๋ฌธ๋ฒ๋ค์ ๋ณต์ตํ๊ณ ๋ฐฐ์ฐ๋๋ฐ ๋์์ด ๋๋ ๊ฒ ๊ฐ๋ค. ์๋ฌดํผ! ์์ ๋ฒ์๊ฐ ํฌ๋ฏ๋ก, Map map์ ํค ๊ฐ์ผ๋ก ์ ๋ ฅ๋๋ ์๋ฅผ ๊ธฐ๋กํ ๊ฒ์ด๊ณ , integer ์๋ ํ์๋ฅผ ์ ๊ฒ์ด๋ค. Map ์นด์ดํ ์์ฒด๋ ํฌ๊ฒ ์ด๋ ค์ด ๋ถ๋ถ์ ์์ง๋ง, ๊ฐ์ฅ ๋ง์ด ๊ฐ์ง๊ณ ์๋ ์ ์๊ฐ ์ฌ๋ฌ๊ฐ์ง๋ผ๋ฉด ์์ ๊ฒ์ ์ถ๋ ฅํด์ผ ํ๋ฏ๋ก ์ด ๋ถ๋ถ ์กฐ๊ฑด์์ ์์ฑํ ๋, ์ฃผ์ํด์ผํ๋ค. maxTime์ 0์ผ๋ก ์ด๊ธฐํ ์ํค๊ณ , maxTime ๋ณด๋ค ํฐ ํ์๋ฅผ ๊ฐ์ง key ๊ฐ์ด ์กด์ฌํ๋ฉด, maxKey์ maxTime์ ์ ๋ฐ์ดํธ ํด์ค๋ค. ๋ง์ฝ, ์ด๋ค ํค์ ํ์๊ฐ, ์ด๋ฏธ ๋ฑ๋ก๋ maxTime๊ณผ ๋์ผํ๋ค๋ฉด..
[JAVA] ๋ฐฑ์ค 10989๋ฒ ใ์ ์ ๋ ฌํ๊ธฐ 3ใ
๋ฌธ์ ์์ฒด๋ ํ๋ฒํ ์ค๋ฆ์ฐจ์ ๋ฌธ์ ์ด์ง๋ง, ๋ฉ๋ชจ๋ฆฌ์ ์๊ฐ ์ ํ์ด ๊น๋ค๋ก์์ ๊ณฐ๊ณฐํ ์๊ฐํด๋ณด๊ณ ๋ฌธ์ ๋ฅผ ํ์ด๋ดค๋ค. ์์ฆ, ์ ๋ ฌ ๋ฌธ์ ๋ฅผ ํ์ด๋ณด๋ฉด์ StringBuilder ์ ์๋ํจ์ ๋๋ผ๊ณ ์์ด์, StringBuilder ๋ฅผ ์ด์ฉํด์ ๋ฌธ์ ๋ฅผ ํ์ด๋ณด์๋ค. ๋ฐฉ๋ฒ์ ๊ฐ๋จํ๋ค. StringBuilder ๋ฐฐ์ด์ ๋ง๋ค์ด์, ์ ๋ ฅ๊ฐ์ด 1~10000์ด๋ผ๊ณ ํ์ผ๋ฏ๋ก, ์ ๋ ฅ๋๋ ๊ฐ์ ์ธ๋ฑ์ค๋ก ์ง์ ํ๊ณ ๊ทธ ์ธ๋ฑ์ค ๊ฐ์ "\n" ์ ์ถ๊ฐํด์ ๋ฌธ์์ด์ append ํด์ค ํ ์ถ๋ ฅํ๋ฉด ๋๋ค. ์ฐธ๊ณ ๋ก String str ์ ๋ฃจํ ์์์ ์ ์ธํ ๊ฒฝ์ฐ, ๋ฉ๋ชจ๋ฆฌ ์ด๊ณผ๊ฐ ์ผ์ด๋ ์ ์์ผ๋ ์ฃผ์ํด์ผํ๋ค. import java.io.BufferedReader; import java.io.IOException; import java.io.Input..
[JAVA] ๋ฐฑ์ค 10825๋ฒ ใ๊ตญ์์ใ
์ด์ , ์ ๋ ฌ ๋ฌธ์ ๋ฅผ ๋๋ค์์ ์ฌ์ฉํด์ ํด๊ฒฐํ๋ ๋ฐฉ๋ฒ์ ์์ ํ ํฐ๋ํ ๊ฒ ๊ฐ๋ค. ๊ทธ๋ฆฌ๊ณ , ์ ๋ ฌ ๋ฌธ์ ๋ฅผ ํ๋๋ง๋ค StringBuilder๋ฅผ ์ฌ์ฉํด์ ์ถ๋ ฅํ๋ ๊ฒ์ ์์ฒญ๋ ํจ๊ณผ๋ฅผ ๋๋ผ๋ ๊ฒ ๊ฐ๋ค. ์ฌ๋งํ๋ฉด StringBuilder๋ฅผ ์ฌ์ฉํด์ ์ถ๋ ฅํด์ผ๊ฒ ๋ค. ใ ใ for each๋ฌธ์ ์ฌ์ฉํด์ println ํ๋ ๋ฐฉ๋ฒ๊ณผ StringBuilder์ ์์๋๊ณ ํ๋ฒ์ ์ถ๋ ฅํ๋ ๋ฐฉ๋ฒ ์๋๊ฐ ๊ฑฐ์ 2๋ฐฐ ์ฐจ์ด ๋๋ค...ใ ใ ์๋ฌดํผ ์ด ๋ฌธ์ ์ ํคํฌ์ธํธ๋ ๊ตญ์ด ์ ์๋ ๊ฐ์ํ๋ ์์, ์์ด ์ ์๋ ์ฆ๊ฐํ๋ ์์, ์ํ ์ ์๋ ๊ฐ์ํ๋ ์์, ์ด๋ฆ์ ์ฆ๊ฐํ๋ ์์ ์์ ํ์ ํ๊ณ ์ด์ ๋ง๋ return ๊ฐ์ ๊ฑด๋ค์ฃผ๋ฉด ๋๋ค. ์ฐธ๊ณ ๋ก ์ด๋ฆ์ String ์ด๋ฏ๋ก, compareTo() ๋ฉ์๋๋ฅผ ์ฌ์ฉํ๋ค. [JAVA] Comparator ์..
[JAVA] ๋ฐฑ์ค 10814๋ฒ ใ๋์ด์ ์ ๋ ฌใ
์ด ๋ฌธ์ ๋, ๋ค๋ฅธ ์ ๋ ฌ ๋ฌธ์ ์ ๋น์ทํ๋ค. ์ฒ์์, Member ํด๋์ค๋ฅผ ์์ฑํ ๋ค, Comparable์ implements ํ ๋ค์ ๋์ด๊ฐ ๊ฐ๋ค๋ฉด, ๋งด๋ฒ ์์ด๋๋ฅผ ๋น๊ตํ๊ณ , ๋์ด๊ฐ ๋ค๋ฅด๋ค๋ฉด, ๋์ด๋ฅผ ๊ธฐ์ค์ผ๋ก ์ค๋ฆ์ฐจ์ ๋๊ฒ๋ compareTo()๋ฅผ ์ ์ํ ํ List memberList = new ArrayList(); ๋ฅผ ์ ์ธํด์ Member ํ์ ์ ๊ฐ์ฒด๋ค์ ๊ธฐ๋กํ ๋ค, Collections.sort()๋ฅผ ์ฌ์ฉํด์ ์ ๋ ฌํ์๋ค. ๊ทธ๋ฆฌ๊ณ ์ถ๋ ฅ ์, [๋์ด ์ด๋ฆ] ์ด ์ถ๋ ฅ๋์ผ ํ๋ฏ๋ก, toString()์ ์ค๋ฒ๋ผ์ด๋ฉํ์๋ค. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java..
[JAVA] ๋ฐฑ์ค 11651๋ฒ ใ์ขํ ์ ๋ ฌํ๊ธฐ 2ใ
์ด๋ฒ ๋ฌธ์ ๋, ์ด์ ์ ํ์์๋ 11650 ๋ฌธ์ ์ ๊ต์ฅํ ํก์ฌํ๋ค. [JAVA] ๋ฐฑ์ค 11650๋ฒ ใ์ขํ ์ ๋ ฌํ๊ธฐใ ์ด ๋ฌธ์ ๋, ๋จ์ํ 1์ฐจ์ ์ค๋ฆ์ฐจ์ ์ ๋ ฌ์ด ์๋, x์ขํ๊ฐ ๊ฐ์ ๊ฒฝ์ฐ y์ขํ๋ ๋น๊ตํด์ผ ํ๊ธฐ ๋๋ฌธ์, sort ํจ์์ ์ ๋ ฌ ์กฐ๊ฑด์ ๋ณ๊ฒฝ์์ผ์ฃผ์ด์ผ ํ๋ค. [JAVA] Comparator ์ Comparable์ ๋ํด ์ดํดํ๊ธฐ ๋ฐฐ์ด yinq.tistory.com ๋ค๋ง, ์ฐจ์ด์ ์ด ์๋ค๋ฉด, y์ขํ ๊ธฐ์ค์ผ๋ก ๋จผ์ ์ค๋ฆ์ฐจ์ ์ ๋ ฌ์ ํ ๋ค์, y์ขํ๊ฐ ๊ฐ๋ค๋ฉด, x์ขํ๋ฅผ ๋น๊ตํด์ ์ค๋ฆ์ฐจ์์ผ๋ก ๋น๊ตํ๋ค๋ ์ ์ด๋ค. ์ ๋ฒ ๋ฌธ์ ์์๋, Comparator ์ implements ํ๋ CustomComparator ๊ฐ์ฒด๋ฅผ ๋ง๋ค์ด์ ํด๊ฒฐํ์๋๋ฐ, ์ด๋ฒ์ ๋๋ค ์ ์ฐ์ต๋ ํ ๊ฒธ, ๋๋ค์์ ์ด์ฉํด์ ํ์ด๋ดค๋ค. ๋๋ค์์ผ๋ก..
[JAVA] ๋ฐฑ์ค 11650๋ฒ ใ์ขํ ์ ๋ ฌํ๊ธฐใ
์ด ๋ฌธ์ ๋, ๋จ์ํ 1์ฐจ์ ์ค๋ฆ์ฐจ์ ์ ๋ ฌ์ด ์๋, x์ขํ๊ฐ ๊ฐ์ ๊ฒฝ์ฐ y์ขํ๋ ๋น๊ตํด์ผ ํ๊ธฐ ๋๋ฌธ์, sort ํจ์์ ์ ๋ ฌ ์กฐ๊ฑด์ ๋ณ๊ฒฝ์์ผ์ฃผ์ด์ผ ํ๋ค. [JAVA] Comparator ์ Comparable์ ๋ํด ์ดํดํ๊ธฐ ๋ฐฐ์ด์ ์ค๋ฆ์ฐจ์ํ๋ ๊ฐ์ฅ ์ฌ์ด ๋ฐฉ๋ฒ์ Arrays ๋ฅผ import ํด์ค ๋ค, Arrays์ sort ๋ฉ์๋๋ฅผ ์ฌ์ฉํ๋ฉด ์์์ ์ค๋ฆ์ฐจ์ ์ ๋ ฌ์ ํด์ค๋ค! sort ๋ฉ์๋๋ Comparable ์ธํฐํ์ด์ค๋ฅผ Arrays ํด๋์ค์์ ๊ตฌํํ์ฌ ๋ yinq.tistory.com ๋ง์นจ ์ต๊ทผ์, ํ ๋ฐฑ์๋ ์ค์ฟจ ๋๊ธฐ๋ถ ๋๋ถ์ Comparator ์ ๋ํ ์ดํด๋ฅผ ํ ์ํ๋ผ์ ์์ํ๊ฒ ํด๊ฒฐํ ์ ์์๋ค. ๋จผ์ , Arrays.sort(int [][] array) ์ ๊ฐ์ ๋ฐฉ์์ผ๋ก sort ๋ฉ์๋๋ฅผ ์ฌ์ฉํ ..
[JAVA] ๋ฐฑ์ค 2751๋ฒ ใ์ ์ ๋ ฌํ๊ธฐ 2ใ
์ ๋ต์ ๋ง์ถ๊ธด ํ์ง๋ง, ์๊ฐ์ด ๋น์ ์์ ์ผ๋ก ๋์ ๊ฒ ๊ฐ์ ๋ค์ํ ๋ฐฉ๋ฒ์ ์๋ํ๋ค. 1. BufferedReader ์ Arrays.sort()๋ฅผ ์ฌ์ฉํ ๋ค, ํฅ์๋ for๋ฌธ์ ์ฌ์ฉํด์ BufferedWriter๋ก ์ถ๋ ฅํ๊ฒ๋ ๋ต์ ์ ์ถํ๋๋ 1708ms ๊ฐ ๋์๋ค. 2. BufferedReader ์ Arrays.sort()๋ฅผ ์ฌ์ฉํ ๋ค, ์ผ๋ฐ์ ์ธ for๋ฌธ์ ์ฌ์ฉํด์ BufferedWriter๋ก ์ถ๋ ฅํ๊ฒ๋ ๋ต์ ์ ์ถํ๋๋ 1472ms ๊ฐ ๋์๋ค. ํฅ์๋ for๋ฌธ๋ณด๋ค ๊ทธ๋ฅ for๋ฌธ ๋ฃจํ๋ฅผ ๋๋ฆฌ๋๊ฒ ์๋๊ฐ ๋ ๋น ๋ฅด๋ค๋ ์ฌ์ค์ ์ผ๋จ๊ฒฐ์ ์๊ฒ ๋์๋ค. 3. BufferedReader ๋ก ์ ๋ ฅ์ ๋ฐ์ ๋ค, Arrays.sort ๋ฅผ ์ฌ์ฉํ๊ณ StringBuilder๋ฅผ ์ฌ์ฉํด์ ๋ฐ์ดํฐ๋ค์ ์ ์ฅํ ๋ค, ํ๋ฒ์ ์ถ๋ ฅํ๊ฒ๋..