Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 국세청 해외주식 양도세 신고방식
- 한국투자증권 양도세 신고
- bfs 미로탐색 java
- 최대공약수 예제
- 톰캣 실시간 로그
- 재귀함수 예제
- CSTS 폭포수 모델
- recursion example
- 피보나치함수 예제
- katalon xpath
- javascript 자동완성
- js 자동완성
- 해외주식 양도세 신고
- 주식 양도세 신고방법
- java.sql.SQLSyntaxErrorException
- 홈택스 해외주식 양도세
- katalon 자동화
- 한국투자증권 해외주식 양도세
- 재귀 예제
- katalon 사용법
- 해외증권 양도세 한국투자증권
- 피보나치함수
- 피보나치 예제
- katalon
- 테스트 자동화
- katalon 비교
- Katalon Recorder 사용법
- oracle group by
- git 연동
- tomcat log
Archives
- Today
- Total
엄지월드
42862 체육복 본문
헷갈렸던 점
- 정렬되지 않은 배열이라는 조건을 인지하지 못하고 풀고 있었다. 문제를 자세히 보자
- lostList를 운영하면서 중복으로 잃어버린자 == 가져온자를 계산하지 않고, 이외에 친구들도 매끄럽게 처리할 수 있었다.
public static int solution(int n, int[] lost, int[] reserve) {
Arrays.sort(lost);
int answer = 0;
int[] arr = new int[n+2];
// 여분이 있는 친구들은 1로 표시
for(int i=0; i<reserve.length; i++){
arr[reserve[i]] = 1;
}
ArrayList<Integer> lostList = new ArrayList<>();
// 본인이 잃어버렸는데, 본인이 체육복을 가져온 경우 0으로 처리
// 그렇지 않은 경우 잃어버린 lostList로 추가
for (int i = 0; i < lost.length; i++) {
int number = lost[i];
if(arr[number] == 1){
arr[number] = 0;
}else{
lostList.add(lost[i]);
}
}
int cnt = 0;
// 만약 앞뒤에 사이즈가 있으면 0으로 처리, 그렇지 않으면 cnt++
for (int i = 0; i < lostList.size(); i++) {
int number = arrayList.get(i);
if(arr[number-1] == 1){
arr[number-1] = 0;
}else if(arr[number+1] == 1){
arr[number+1] = 0;
}else{
cnt++;
}
}
// 체육복이 없는 친구들을 n에서 빼줌
System.out.println(n-cnt);
answer = n-cnt;
return answer;
}
'알고리즘' 카테고리의 다른 글
PGM 118670 행렬과 연산 (0) | 2022.09.13 |
---|---|
PGM 118667 두 큐 합 같게 만들기 (0) | 2022.09.13 |
72410 신규 아이디 추천 (0) | 2022.09.09 |
68935 진법 뒤집기 (0) | 2022.09.09 |
백준 1967 트리의 지름(DFS) (0) | 2022.09.06 |
Comments