본문 바로가기

Java108

문자열배열 세로로 읽어버리기 문자열배열을 입력받아 세로로 읽을때처럼 출력하는 문제였다. 예를 들어 "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.
2차원배열을 HashMap으로 / [구현]보드게임 7. 2차원 배열(배열을 요소로 갖는 배열)을 입력받아 각 배열을 이용해 만든 HashMap을 리턴해야 합니다. 내가작성한 코드 for(int i = 0; i board1[0].length){ return null; } } return result; } } k나 v가 범위를 넘어설 때, null 값을 반환해야하는데 그게 안됐다. 예외 처리를 해야하나? public class Main { public static void main(String[] args) { int[][] board1 = new int[][]{ {0, 0, 0, 1}, {1, 1, 1, 0},.. 2022. 11. 25.