[programmers] ์ํฌ์ - Java
"์ํฌ์" ๋ฌธ์ ๋ ์ํ ๋ฌธ์ ๋ฅผ ์ฐ๋ 3๋ช
์ ์ํฌ์ ์ค ๊ฐ์ฅ ๋ง์ ๋ฌธ์ ๋ฅผ ๋งํ ์ฌ๋์ ์ฐพ๋ ๋ฌธ์ ์
๋๋ค. ๊ฐ ์ํฌ์์ ์ฐ๋ ํจํด์ด ์ฃผ์ด์ง๊ณ , ์ด๋ฅผ ํ์ฉํ์ฌ ์ฃผ์ด์ง ๋ต์ ๋ฐฐ์ด๊ณผ ๋น๊ตํ์ฌ ๊ฐ์ฅ ๋์ ์ ์๋ฅผ ์ป์ ์ํฌ์๋ฅผ ์ฐพ์๋ด๋ ๊ฒ์ด ํต์ฌ์
๋๋ค. ์ด๋ฅผ ์ํด ๋ฐฐ์ด์ ๊ธธ์ด๋งํผ ๋๋จธ์ง ์ฐ์ฐ์ ํตํด ์ ๋ต์ ๋ฐ๋ณตํด์ ๋น๊ตํ๊ณ , ๊ฐ์ฅ ๋์ ์ ์๋ฅผ ๊ฐ์ง ์ํฌ์๋ฅผ ๋ฆฌ์คํธ์ ์ถ๊ฐํ์ฌ ๊ฒฐ๊ณผ๋ฅผ ๋ฐํํฉ๋๋ค.
Mar 18, 2024
์ํฌ์
๋ฌธ์ ์ค๋ช
์ํฌ์๋ ์ํ์ ํฌ๊ธฐํ ์ฌ๋์ ์ค๋ง์
๋๋ค. ์ํฌ์ ์ผ์ธ๋ฐฉ์ ๋ชจ์๊ณ ์ฌ์ ์ํ ๋ฌธ์ ๋ฅผ ์ ๋ถ ์ฐ์ผ๋ ค ํฉ๋๋ค. ์ํฌ์๋ 1๋ฒ ๋ฌธ์ ๋ถํฐ ๋ง์ง๋ง ๋ฌธ์ ๊น์ง ๋ค์๊ณผ ๊ฐ์ด ์ฐ์ต๋๋ค.
1๋ฒ ์ํฌ์๊ฐ ์ฐ๋ ๋ฐฉ์: 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, ...
2๋ฒ ์ํฌ์๊ฐ ์ฐ๋ ๋ฐฉ์: 2, 1, 2, 3, 2, 4, 2, 5, 2, 1, 2, 3, 2, 4, 2, 5, ...
3๋ฒ ์ํฌ์๊ฐ ์ฐ๋ ๋ฐฉ์: 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, ...
1๋ฒ ๋ฌธ์ ๋ถํฐ ๋ง์ง๋ง ๋ฌธ์ ๊น์ง์ ์ ๋ต์ด ์์๋๋ก ๋ค์ ๋ฐฐ์ด answers๊ฐ ์ฃผ์ด์ก์ ๋, ๊ฐ์ฅ ๋ง์ ๋ฌธ์ ๋ฅผ ๋งํ ์ฌ๋์ด ๋๊ตฌ์ธ์ง ๋ฐฐ์ด์ ๋ด์ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
์ ํ ์กฐ๊ฑด
- ์ํ์ ์ต๋ 10,000 ๋ฌธ์ ๋ก ๊ตฌ์ฑ๋์ด์์ต๋๋ค.
- ๋ฌธ์ ์ ์ ๋ต์ 1, 2, 3, 4, 5์ค ํ๋์ ๋๋ค.
- ๊ฐ์ฅ ๋์ ์ ์๋ฅผ ๋ฐ์ ์ฌ๋์ด ์ฌ๋ฟ์ผ ๊ฒฝ์ฐ, returnํ๋ ๊ฐ์ ์ค๋ฆ์ฐจ์ ์ ๋ ฌํด์ฃผ์ธ์.
์ ์ถ๋ ฅ ์
answers | return |
[1,2,3,4,5] | [1] |
[1,3,2,4,2] | [1,2,3] |
์ ์ถ๋ ฅ ์ ์ค๋ช
์
์ถ๋ ฅ ์ #1
- ์ํฌ์ 1์ ๋ชจ๋ ๋ฌธ์ ๋ฅผ ๋งํ์ต๋๋ค.
- ์ํฌ์ 2๋ ๋ชจ๋ ๋ฌธ์ ๋ฅผ ํ๋ ธ์ต๋๋ค.
- ์ํฌ์ 3์ ๋ชจ๋ ๋ฌธ์ ๋ฅผ ํ๋ ธ์ต๋๋ค.
๋ฐ๋ผ์ ๊ฐ์ฅ ๋ฌธ์ ๋ฅผ ๋ง์ด ๋งํ ์ฌ๋์ ์ํฌ์ 1์
๋๋ค.
์
์ถ๋ ฅ ์ #2
- ๋ชจ๋ ์ฌ๋์ด 2๋ฌธ์ ์ฉ์ ๋ง์ท์ต๋๋ค.
solution.java
import java.util.*; class Solution { public int[] solution(int[] answers) { int[] supoja1 = {1, 2, 3, 4, 5}; int[] supoja2 = {2, 1, 2, 3, 2, 4, 2, 5}; int[] supoja3 = {3, 3, 1, 1, 2, 2, 4, 4, 5, 5}; int[] scores = new int[3]; for (int i = 0; i < answers.length; i++) { if (answers[i] == supoja1[i % supoja1.length]) scores[0]++; if (answers[i] == supoja2[i % supoja2.length]) scores[1]++; if (answers[i] == supoja3[i % supoja3.length]) scores[2]++; } int maxScore = Math.max(scores[0], Math.max(scores[1], scores[2])); List<Integer> resultList = new ArrayList<>(); for (int i = 0; i < scores.length; i++) { if (scores[i] == maxScore) { resultList.add(i + 1); } } int[] result = new int[resultList.size()]; for (int i = 0; i < resultList.size(); i++) { result[i] = resultList.get(i); } return result; } }
ํต์ฌ ํค์๋
- ์ํฌ์ 3๋ช ์ ์ ์๋ฅผ ์ ์ฅํ ๋ฐฐ์ด์ ์ ์ธํ๋ค.
- answers ๋ฐฐ์ด์ ์ํํ๋ฉด์ ์ํฌ์ 3๋ช ์ ๋ต์๊ณผ ์ ๋ต์ด ์ผ์นํ๋ฉด ํด๋น ์ธ๋ฑ์ค์ ๊ฐ์ ++ํ๋ค.
- ์ํฌ์ 3๋ช ์ค ๊ฐ์ฅ ๋์ ์ ์๋ฅผ ์ฐพ๊ณ , ํด๋น ์ ์์ ์ผ์นํ๋ ์ ์๋ฅผ ๊ฐ์ง ์ธ๋ฑ์ค๋ฅผ ๋ฆฌ์คํธ์ ์ถ๊ฐํ๋ค.
- ๋ฆฌ์คํธ๋ฅผ ์ ์ ๋ฐฐ์ด๋ก ๋ณํํ ํ ๋ฆฌํดํ๋ค.
๊ฒฐ๋ก !
ํด๋น ๋ฌธ์ ๋ฅผ ํ๋ฉด์ ์ด๋ป๊ฒ ์ ๋ต๊ณผ 3๊ฐ์ ๋ฐฐ์ด์ ๊ฐ์ ๋น๊ตํ ์ ์์์ง ๊ณ ๋ฏผํ๋๋ฐ, ๋ฐฐ์ด์ ๊ธธ์ด๋งํผ ๋๋จธ์ง ์ฐ์ฐ์ ํตํด์ ์ ๋ต์ ๋ฐ๋ณตํด์ ๋น๊ตํ ์ ์์๋ค.
Share article