본문 바로가기

전체 글227

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.
안반잘다만 - String 슬라이싱 후 앞글자만 모으기 String str = "안녕하세요 반가워요 잘있어요 다시 만나요."; String result = ""; String arr[] = str.split(" "); for(int i = 0; i < arr.length; i++){ result = result + String.valueOf(arr[i].toString().charAt(0)); } System.out.println(result); 결과 : 안반잘다만 인텔리제이에서는 arr로 이름을 짓고 코플릿에선 array로 지어서 5번째줄에 arr[i]로 해놓고 뭐가 잘못된지 한참을 찾았다. String str = "안녕하세요 반가워요 잘있어요 다시 만나요."; String result = ""; String array[] = str.split(" "); .. 2022. 11. 22.
클린코드3 챕터2로 넘어가며 의미있는 이름을 사용해야하는이유, 구체적으로 어떻게 사용하는지를 알아봤다. 클린한 코드를 작성하는데 가장 기초가 되는것은 이름이다. 나도 그렇게 까지 긴 코드를 아직은 짜보진 못했지만 저번에 했던 버거퀸프로그램 짤때만해도 느꼈다. 코드를 작성하다보면 나도모르게 엄청나게 많은 변수, 클래스, 메서드가 생긴다. 생길 때 마다 제대로 의미를 전달할 수 있는 이름을 만들어주는것은 힘들다. 저자는 먼저 의도를 분명히 밝히라고 한다. 코드가 아무리 간단해도 무엇을 하려는지 모르면 그것은 클린하다고 볼 수 없다. 의미만 잘 전달해도 함수가 하는 일을 알 수 있다. 그리고 그릇된 정보를 피하라고 한다. 에를 들어 hypotenuse를 hp라고 변수명을 지정해주면, 나중에 다른 사람이 코드를 읽었을 때.. 2022. 11. 21.
클린코드2 저자는 C++의 창시자 비야네 스트롭스트룹에게도 깨끗한 코드에 대해 물었다. 그는 논리가 간단해야 한다고하고, 의존성을 줄여야 유지보수가 쉬워진다고 한다고 했다. 그는 효율을 두번이나 언급했다. 여기서 말하는 효율은 속도뿐아니라 cpu자원을 낭비하는 코드는 바람직하지 않다고 한다. Object Oriented Analysis and Design with Application의 저자 그래디부치는 가독성을 강조했다. 클린한 코드는 잘 쓴 문장처럼 읽혀야 한다고 한다. OTI의 창립자 데이브 토마스는 가독성을 강조하지만 클린한 코드는 다른 사람이 고치기 쉽다고 단언했다. 그는 테스트 케이스와 연관지었다. 실제로 테스트 케이스가 없는 코드는 클린한 코드가 아니다. 론 제프리스는 중복을 피하고, 한기능만 수행하고.. 2022. 11. 19.