본문 바로가기

Java/알고리즘63

정수배열 각 요소가 앞에 요소들의 합보다 크면 레알참트루 Int 배열을 입력받고 각요소가 그 앞에 요소들의 합보다 크면 true 반환하는 문제였다. 처음짰던 코드는 아래와 같다. public class Main { public static void main(String[] args) { int[] arr = new int[]{979, 1737, -2146, -337,234}; boolean result = true; for(int i =2; i arr[1]){ result = false; } break; } if (arr[i-2] + arr[i-1] > arr[i]) { result = false; } } System.out.println(result); } }​ 처음에.. 2022. 12. 6.
문자열배열 세로로 읽어버리기 문자열배열을 입력받아 세로로 읽을때처럼 출력하는 문제였다. 예를 들어 "hello" "world"면 "hweolrllod" 이렇게 출력하는 문제였다. 그래서 일단 빈문자열을 만들고 길이순으로 정렬하고, 이중반복문으로 한글자씩 넣어줬는데 대체 왜 틀렸지 하며 머리아팠는데 다시 문제를 보니 "hi" "world"면 "hwiorld"가 나와야하는데 내가 길이순으로 정렬해서.. 바보같이... 길이순으로 정리하는게 아니라 가장 긴길이를 구하고 구한만큼 반복해야 하는건데....정렬을 바꾸는게 아니라.. 처음 짠 코드는 이랬다. 테스트가 잘 통과하길래 뭔문제지? 했다... public class Main { public static void main(String[] args) { String[] arr = new S.. 2022. 12. 5.
문자열사이에 '-' 삽입하자! (홀수사이에만!) 문자열 입력받고 연속적으로 있는 홀수 사이에 '-' 삽입하자! 0은 짝수, String타입 입력받고 ex) "476793" ---> "4767-9-3" String타입 반환! 수도코드 작성해보자면 //for문, i는 1부터 charAt()사용해 한글자씩 순회 // i, i-1 이 만약 홀수라면 사이에 // "-"추가. 이를 토대로 작성해봤다. public class Main { public static void main(String[] args) { String str = "33333"; StringBuffer origin = new StringBuffer(str); for(int i = 1; i < str.length(); i++){ if(Character.getNumericValue(str.charA.. 2022. 11. 26.
문자열중 특정문자로 시작해 특정문자로 끝나는지 찾아용 문자열을 입력받아 문자열 내에 아래 중 하나가 존재하는지 여부를 리턴해야 합니다. 'a'로 시작해서 'b'로 끝나는 길이 5의 문자열 'b'로 시작해서 'a'로 끝나는 길이 5의 문자열 // // // // // 처음 작성한 코드는 boolean answer = false; String str = "eiaoalskdfn"; String str1 = str.toLowerCase(); //그냥 str.toLowerCase();는 적용이안된다. 새로운 변수에 할당해줘야 한다. for (int i = 0; i < str1.length(); i++) { if (str1.charAt(i) == 'a' && str1.charAt(i + 4) == 'b') { answer = true; break; } else if .. 2022. 11. 25.