본문 바로가기

Java107

영어 끝말잇기 먼저 코드를 이렇게 짰다. import java.util.Arrays; import java.util.HashSet; import java.util.Set; class Solution { public int[] solution(int n, String[] words) { int[] answer = {0, 0}; int idx = 0; Set set = new HashSet(); for (int i = 0; i = 1){ if(words[i-1].charAt(words[i-1].length()-1) != words[.. 2023. 10. 11.
올바른 괄호 정말 오랜만에 다시 코테를 연습하려고 한다!! 너무 오랜만이라 감이 안왔지만 차근차근 조건을 생각해보며 풀어봤다. 조건을 생각해보면, 조건1. )로 시작하면 안됨. 조건2. (로 끝나면 안됨. 조건3. (갯수와 )갯수는 같아야함. 조건4. 앞에서부터 차례로 볼때, ( 하면 cnt ++, ) 하면 cnt--, 그런데 cnt가 마이너스가 되는경우엔 false.(닫는괄호가 더많이 나왔다는 뜻) 그래서 처음 짰던 코드는 class Solution { boolean solution(String s) { if(s.charAt(0)==')'){ return false; } if(s.charAt(s.length()-1)=='('){ return false; } int cnt = 0; for(int i = 0; i < .. 2023. 10. 11.
전화번호 목록 ㅇ 문제설명 문제를 보고 아ㅋㅋ 개쉽네ㅋㅋ 이랬다가 바로 효율성 테스트 실패! 내가 처음 푼 방법은 이중 반복문을 사용해, 자바의 String의 stratswith() 메서드를 사용했다. 그게 패착요인일줄은...사실 어느정도 예상했다. ㅇ 내가 처음 푼 방법 class Solution { public boolean solution(String[] phone_book) { for(int i = 0; i < phone_book.length; i++){ for(int j = 0; j < phone_book.length; j++){ if(i == j){ continue; } if(phone_book[i].startsWith(phone_book[j])){ return false; } } } return true;.. 2023. 6. 7.
할인행사 ㅇ 문제 정리 1) 하루에 한개씩 살수있는 할인품목 discount 리스트중 연속되는 want.length만큼과 2) 사고자하는 want리스트의 각 품목별 number만큼이 같은 경우의수를 구하는 문제. ㅇ 나의 풀이법 내가 정리하면서 문제를 어떻게 풀려했는지를 알아보자. 1) discount를 연속해 10개씩 나누고 새로운 배열 darr에 넣는다.(10일 연속 일치할 경우라 그렇게 했다.) 2) 이걸 끝까지 반복한다. 3) darr에 want[j]가 몇갠지 세고 그게 number[j]와 같으면 cnt++ 3-1) 특정 배열에 특정 문자열이 몇갠지 세주는 count 메서드를 만들어줬다. 4) cnt와 want의 길이가 같으면 조건이 맞는 경우니 answer++ 1. 첫번째 풀이다. 내가 여기서 한시간을 .. 2023. 5. 26.