김지팡의 저장소
article thumbnail
프로그래머스 - 자연수 뒤집어 배열로 만들기
알고리즘 2022. 1. 20. 18:00

자연수를 배열로 만들기 위해서는 우선 자연수를 문자열의 형태로 바꾸어야 한다. 문자열로 바꾼 후에는 split() 메서드를 통해 그 값을 배열에 하나씩 나누어 저장할 수 있기 때문이다. 배열로 저장한 후, 크기가 동일한 배열을 생성하여 대입 연산을 통해 설루션을 완성시킬 수 있다. 코드를 보며 자세히 보겠다. 임의의 자연수가 저장되어있는 long 타입 변수 n을 입력받았다. 입력받은 n을 Long 클래스 메서드인 toString() 메서드를 통해 long 타입을 String 타입으로 변환해주는 것이다. 그다음 split() 메서드를 사용하여 arr1 배열에 저장하였다. solution 메서드의 반환 타입이 int타입 배열이기 때문에 int 타입 배열 arr2를 arr1의 크기와 동일한 것으로 생성하였다...

article thumbnail
Chapter 20 - equals(), replace()
Java 2022. 1. 20. 18:00

이제껏 String 메서드에 대해서 몇 가지를 알아보았다. 정말 많은 메서드들이 존재하지만 비교적 사용 빈도수가 있는 메서드들 위주로 다루었다. 마지막으로 알아볼 메서드는 equals() 메서드이다. equals() 메서드는 그 뜻에서 알 수 있듯이 두 String 타입 변수에 저장된 문자열이 동일한 것인지 확인하는 메서드이다. equals() 메서드의 괄호 안에는 비교할 대상(String 타입 변수)이 들어간다. 동일한 문자열이라면 true를 리턴하고, 다른 문자열이라면 false를 리턴한다. 앞서, 자바에서는 대소문자를 구분한다고 했기 때문에 변수 s에 'Coffee'가 아닌 'coffee'가 들어갔다면 false를 리턴했을 것이다. 만약 대소문자를 구분하지 않고 비교를 하고 싶다면 변수에 저장된 문..

article thumbnail
프로그래머스 - x만큼 간격이 있는 n개의 숫자
알고리즘 2022. 1. 19. 18:00

이 문제는 배열의 크기가 n이고, 각 요소들이 x씩 증가하는 배열이다. 즉 배열의 첫 번째 인덱스에 저장되는 값은 x *1 , 두 번째는 x * 2, 세 번째는 x * 3, 마지막 인덱스인 n-1의 요소는 x * n이다. 이는 for문으로 간단하게 해결이 가능하다. 코드를 보며 설명하도록 하겠다. for문을 사용하여 첫 번째 인덱스 번호인 0부터 마지막 번호인 n-1까지 반복을 하고 있다. 위에서 이야기했듯이, 각 인덱스에 저장될 요소(값)는 x * (i + 1)인 셈이다. 하지만, 5번째 줄의 코드를 보면 long으로 캐스팅(형 변환)을 한 것을 볼 수 있다. 이렇게 하지 않는다면 오류가 난다. 그 이유는 문제에 있다. 문제의 제한 조건을 보면 x는 -10000000 ~ 10000000 인 것을 알 수..

article thumbnail
Chapter 19 - split()
Java 2022. 1. 19. 18:00

String 타입에는 배열처럼 크기를 반환하는 length() 메서드와 배열의 인덱스처럼 원하는 인덱스에 접근하는 것이 가능했다. 이러한 String 타입 변수에 저장된 문자열을 실제 배열로 만드는 것도 가능하다. split() 메서드를 사용하는 것이다. 9번째 줄의 코드를 보면 String 타입으로 만들어진 string 변수를 가지고 split() 메서드를 사용하였다. 위와 동일하게 큰 따옴표를 괄호 안에 넣어주었을 때에는 String 타입 변수에 저장된 문자열을 공백, 특수기호를 모두 포함하여 각각 하나씩 split을 하여 배열에 저장하게 된다. 직접 확인해보도록 하겠다. 문자열을 하나씩 배열에 저장하고자 한다면 위의 방법으로 해야 하지만, 이는 어떻게 split 하고 싶은지에 따라 달리 할 수 있다..

article thumbnail
Chapter 18 - String
Java 2022. 1. 18. 18:00

String에는 기본적으로 자바에서 제공하는 메서드들이 존재한다. 오늘 그 메서드들 중 몇 가지를 다뤄보고자 한다. 기본적으로, String은 문자열을 저장할 수 있는 데이터 타입이다. 알파펫으로만 이루어진 문자열이 있다고 하자. 자바에서는 대소문자를 구분하기 때문에 같은 알파벳이더라도 대문자와 소문자는 다른 것으로 구분이 된다. 여기에서 알파벳으로 이루어진 문자열을 대문자 혹은 소문자로 변경하는 메서드를 보여주겠다. 반대로 소문자로 변경하는 메서드이다. 우리는 배열에서 배열의 크기를 반환할 때 length 메서드를 사용한다. 배열 arr이 있을 때, 'arr.length;'처럼 말이다. 이와 같이, 문자열도 그 크기가 존재한다. 그렇기 때문에 length 메서드를 사용이 가능한데, 배열의 크기를 반환할..

article thumbnail
프로그래머스 - 정수 제곱근 판별
알고리즘 2022. 1. 18. 18:00

입력받은 정수 n이 어떤 양의 정수 x의 제곱인지 아닌지를 판단하는 문제라고 한다. solution을 보며 설명해보도록 하겠다. 입력받은 long 타입 변수 n에 저장된 값이 어떤 양의 정수의 제곱인지를 확인하는 것이다. 어떤 수의 제곱인지를 확인하기 위해서 for문으로 i가 1부터 n까지 반복을 하도록 하였다. 반복 과정에서 만약 i의 제곱(i * i)이 n과 같다면 i의 제곱은 n인 것이기 때문에 조건이 성립하게 되고, 문제에서 요구하는 (i + 1) * (i + 1)을 리턴한다. 만약 모든 반복을 거쳤음에도 불구하고 n이 어떤 정수의 제곱이 아니라면 'return -1;'을 실행하게 된다. ========== 느낀 점 ========== 솔직히 아직까지는 크게 어려운 것은 없다..! 그래도 기본은 ..

728x90