java 알고리즘(11-20)

안호성·2023년 8월 21일

문제풀이

목록 보기
2/2
  1. 수학적으로 풀수도 있고 문자열로 바꿔서 spilt 하고 parseInt로 int형으로 바꿔서 합치고 비교하는 방법도 있다.

  2. for (int i = ((a < b) ? a : b); i <= ((a < b) ? b : a); i++)
    answer += i; 이런 식으로 for문의 i에 삼항 연산자로 조건을 주어 a와 b으 크기 차이에 따른 조건식을 만들 수 있다.

  3. num에 큰 수가 들어가면 계산 과정에서 int가 담을 수 있는 숫자크기를 넘어갈 수 있다. 그럴 경우를 생각하고 long을 쓸지 int를 쓸지 결정하자.

  4. 문자열을 비교할 경우 .equals 와 ==가 있다.
    .eqauls 는 객체끼리의 내용을 비교하는 것이고 ==는 객체의 주소를 비교하는 것이기 때문에 내용을 비교할 때는 .equals를 써야한다.
    .equals

  5. 리스트 정렬 Collections.sort(list)을 써보았다. 리스트의 경우 내림차순 정렬하는 명령어도 따로 있어서 꽤 편리해 보인다.
    리스트정렬

  6. sign 값이 boolean 타입으로 입력받기 때문에 삼항 연산자를 쓰면 깔끔해 보일 것이다.

  7. String.join 을 쓰면 문자열 배열(리스트도 포함) 내의 복수의 요소들을 붙여줄 수있다.
    String.join(구분자, 배열 , 시작인덱스, 갯수) 로 표현할 수 있다. 시작인덱스와 갯수를 안적으면 배열에 있는 요소 전체를 붙여준다.
    String.join
    toCharArray()를 쓴 방법도 있다. toCharArray()를 쓰면 문자열을 한글자씩 쪼개서 char[]에 넣어준다.
    toCharArray
    이렇게 만든 char 배열의 값을 수정하거나 하면 String으로 변환해줘야 하는데 3가지 방법이 있다. 1. String str = new String(charArr); 2. String str = String.valueOf(charArr); 3. String str = String.copyValueOf(charArr); char 배열 String 변환

  8. 없는 값을 찾아야 되니까 전체 값에서 있는 값을 찾아서 빼주는 방식으로 풀었다.
    다른 방식의 경우 list로 만들고 list.remove명령어를 사용하여 값을 찾아서 삭제하는 방법도 있다.
    주의 할 점은 list.remove()했을 때 괄호 안에 숫자를 쓰면 그 인덱스 값을 찾아서 삭제하고 Object값을 쓰면 그 값을 가진 index를 삭제한다. 한번만 삭제하기 때문에 다 삭제하려면 반복문을 쓰거나 removeall()을 사용해야 된다.
    배열 값 찾아서 삭제

  9. 배열에서 가장 작은 값을 찾고 배열을 하나 새로 만들어서 원래 배열에서 가장 작은 값을 뺀 값만 넣어주었다.

  10. 문자열을 toCharArray를 써서 char[] 배열로 바꾸고 문자의 길이를 비교하고 계산해서 중간값을 출력하도록 만들었다.
    substring(int startIndex, int endIndex)을 사용해서 startIndex(포함)부터 endIndex(불포함)까지의 문자열을 리턴하는 방법도 있다. substring 뒤에 숫자 하나만 쓰면 해당 위치를 포함한 인덱스를 가져온다.
    substring

profile
발전된 내일을 바라며

0개의 댓글