음양 더하기
class Solution {
public int solution(int[] absolutes, boolean[] signs) {
int answer = 0;
for (int i = 0; i < absolutes.length; i++){
if(!signs[i]) {
answer -= absolutes[i];
}else {
answer += absolutes[i];
}
}
return answer;
}
}
핸드폰 번호 가리기
String 길이 : length()
Array 길이 : length
- String은 불변객체이기 때문에 문자열을 수정할 때마다 새로운 객체를 생성
- StringBuilder는 문자열을 수정해도 기존 객체를 그대로 사용
- 단일스레드 환경에서만 사용 -> 멀티스레드는 위험 (동기화를 안함)
- 멀티스레드 환경에서는 -> StringBuffer (동기화 지원)
- 동기화 : 멀티스레드 환경에서는 여러 스레드가 동시에 실행되며, 같은 메모리 공간이나 데이터를 동시에 읽고/쓰기 가능 -> 이 과정에서 다음과 같은 문제가 발생 -> 메서드나 블록을 동기화하여 한 번에 하나의 스레드만 실행되도록 제한
- 즉. 여러 스레드가 공유 자원에 접근할 때 데이터의 일관성과 안전성을 보장하기 위해 작업 순서를 제어하는 메커니즘
StringBuilder sb = new StringBuilder("Hello");
sb.append(" World");
class Solution {
public String solution(String phone_number) {
StringBuilder answer = new StringBuilder();
for (int i = 0; i < phone_number.length(); i++){
if(i < (phone_number.length() - 4)){
answer.append("*");
}else {
answer.append(phone_number.charAt(i));
}
}
return answer.toString();
}
}
없는 숫자 더하기
class Solution {
public String solution(String phone_number) {
StringBuilder answer = new StringBuilder();
for (int i = 0; i < phone_number.length(); i++){
if(i < (phone_number.length() - 4)){
answer.append("*");
}else {
answer.append(phone_number.charAt(i));
}
}
return answer.toString();
}
}
제일 작은 수 제거하기
- Arrays.sort(sortedArr) : 해당 배열의 원소값을 오름차순으로 정렬하는 메서드, 정렬되어버림
- int[] sortedArr = Arrays.copyOf(arr, arr.length) : 배열을 복사
- int[] answer = new int[arr.length - 1] : 배열의 길이는 뒤에
- int[] ans = {-1} : 생성과 동시에 초기화는 중괄호와 수 명시 안하고 하기
import java.util.*;
class Solution {
public int[] solution(int[] arr) {
int[] answer = new int[arr.length - 1];
int[] sortedArr = Arrays.copyOf(arr, arr.length);
if(arr.length == 1) {
int[] ans = {-1};
return ans;
}
Arrays.sort(sortedArr);
int min = sortedArr[0];
int idx = 0;
for (int i = 0; i < arr.length; i++){
if (arr[i] != min) {
answer[idx] = arr[i];
idx++;
}
}
return answer;
}
}
'Algorithm' 카테고리의 다른 글
2108 통계학 / 정렬 / 딕셔너리 (0) | 2025.01.11 |
---|---|
2751 수 정렬하기 2 / 정렬 / 배열.sort(), 자바 Arrays.sort(배열) (0) | 2025.01.11 |
11651 좌표 정렬하기 2 / 정렬 / 자바 Arrays.sort() (0) | 2025.01.09 |
11286 절댓값 힙 / 우선순위 큐 (0) | 2025.01.08 |
자바 알고리즘 연습(5) (0) | 2025.01.07 |