https://school.programmers.co.kr/learn/courses/30/lessons/181890
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
Algorithm
문자열 비교에 유의하자! ( 실수주의 )
Java에서 문자열은 객체로 취급된다. Java에서 문자열을 생성하면 해당 문자열에 대한 메모리가 할당되고, 변수는 그 메모리 위치를 가리킨다. 문자열을 == 연산자로 비교하면 두 문자열이 정확히 같은 메모리 위치를 가리키는지를 확인하는 것이므로 예상과 다른 결과를 얻을 수 있다.
반면에 equals() 메서드는 문자열의 내용을 비교한다. 두 문자열의 내용이 동일하면 true를 반환하고, 내용이 다르면 false를 반환한다. 따라서 문자열 비교 시에는 equals() 메서드를 사용해야 한다.
Python
def solution(str_list):
for i in range(len(str_list)):
if str_list[i]=='l': return str_list[:i]
elif str_list[i]=='r': return str_list[i+1:]
return []
Java
import java.util.Arrays;
class Solution {
public String[] solution(String[] str_list) {
for (int i = 0; i < str_list.length; i++) {
if ("l".equals(str_list[i])) {
return Arrays.copyOfRange(str_list, 0, i);
} else if ("r".equals(str_list[i])) {
return Arrays.copyOfRange(str_list, i + 1, str_list.length);
}
}
return new String[0];
}
}
'자료구조&알고리즘 > 프로그래머스' 카테고리의 다른 글
[Programmers] 홀수 vs 짝수 (JAVA, PYTHON) (1) | 2023.10.10 |
---|---|
[Programmers] n개 간격의 원소들 (JAVA, PYTHON) (0) | 2023.10.10 |
[Programmers] 순서 바꾸기 (JAVA, PYTHON) (0) | 2023.10.09 |
[Programmers] n 번째 원소부터 (JAVA, PYTHON) (0) | 2023.10.09 |
[Programmers] 2의 영역 (JAVA, PYTHON) (1) | 2023.10.06 |