Equals

    [Java/프로그래머스] 완주하지 못한 선수

    문제 풀이 (1) 문제 분석하기 단 하나의 요소만 다른 2개의 배열을 비교하기 위해 두 배열 모두 정렬 → Arrays.sort() 완주자 배열을 기준으로 반복문을 돌면서 각각 i번째의 요소를 비교하고 일치하지 않으면 반환 → 이때 문자열 비교는 equals() 반환되는 값 없이 마지막까지 돌았다면 참가자 배열의 마지막 요소를 반환 (2) 슈도코드 작성하기 정답을 담을 answer 변수 선언 참가자 배열 오름차순 정렬 완주자 배열 오름차순 정렬 for(완주자 배열의 길이만큼) { if(참가자 배열의 i번째와 완주자 배열의 i번째가 다르면) { answer 변수에 참가자 배열 i번째 요소 넣기 break; }else if(i와 참가자 배열의 길이 -1 이 같다면) { answer 변수에 참가자 배열의 마지..

    [TIL] Java 타입 변환, 연산자, 조건문, 반복문, 배열

    ✍ Today I Learned [타입 변환 Type Conversion] Casting이란? 데이터 타입을 변환하는 것이다. 형식과 크기가 다르기 때문에 변환이 필요할 때가 있다. 자바에는 2가지 유형의 Casting이 있다. Widening Casting (automatically) - 더 작은 유형을 더 큰 유형 크기로 변환(묵시적 형 변환) byte -> short -> (char) -> int -> long -> float -> double Narrowing Casting (manually) - 큰 유형을 작은 크기 유형으로 변환(명시적 형 변환) double -> float -> long -> int -> char -> short -> byte int num1 = 1, num2 = 4; dou..

    [Java] == vs equals

    조건문 파트에서 잠시 다뤘던 ==(동등 비교 연산자)와 equals() 메소드의 차이를 자세히 알아보자. 먼저 데이터 타입과 메모리에 대한 이해가 필요하다. 원시 데이터 타입과 클래스 원시 데이터 타입(primitive) 자바에서 기본적으로 다루는 데이터 타입 boolean, byte, char, short, int, long, float, double 총 8개가 있다. 원시 데이터 타입의 변수는 선언되면 메모리(Stack)에 공간이 할당되고, 실제 값이 들어간다. 👉 원시 데이터의 경우, ==연산자는 변수가 가리키는 값을 토대로 비교한다. String같은 기본이 아닌 데이터 타입(non primitive) java.lang.Object 클래스를 비롯해 여기에서 파생된 다른 모든 클래스들을 포함한다. 클..

    [Java] 조건문(Conditional Statement)

    조건문 형식 if문 // if문의 기본 구조 if (조건식) { ; ; ... } else if(조건식) { ; ; ... } else { ; ; ... } 조건에 따라 참이면 if문을 수행하고, 거짓이면 else if문에 속한 조건을 판단해 참이면 else if문을 수행하고, 거짓이면 else문을 수행한다. if와 조건식은 필수 구성 요소이고, 나머지는 필수 요소가 아니다. 조건식에는 boolean 타입만 들어갈 수 있다. 조건문은 중첩할 수 있다. if와 else는 하나의 조건문에 딱 한 번만 가능, else if는 여러 개 가능 생각해보기 1) 조건문을 중첩해서 사용하는 것과 그렇지 않는 것은 어떤 장단점이 있을까요 조건문을 중첩하여 사용하면 코드의 연관성을 확인하기 힘들고, 중간에 다른 코드의 삽..