728x90
반응형
연습문제: O(1)에 배열 안 원소 중 2개의 합이 100인게 존재하는지 확인하기
int func2(int arr[], int len)
{
int occur[101] = {};
for (int i = 0; i < len; i++)
{
if (occur[100 - arr[i]] == 1)
{
return 1;
}
occur[arr[i]] = 1;
}
return 0;
}
0~100까지 인덱스가 있는 배열을 만듬
내가 입력한 배열을 돌면서 원소에 해당하는 값을 occur 배열 인덱스 값으로 1을 추가함.
만약에 100-해당 원소 가 occur 배열에서 1 값을 가지고 있으면 합 100이 가능한 원소가 존재한다는 뜻
따라서 존재여부로 O(1)에 값을 구할 수 있다.
문제 풀이 현황
연습 문제✔ | 10808 | 알파벳 개수 | 정답 코드 |
기본 문제✔ | 2577 | 숫자의 개수 | 정답 코드 |
기본 문제✔ | 1475 | 방 번호 | 정답 코드 |
기본 문제 | 3273 | 두 수의 합 | 정답 코드, 별해 1 |
기본 문제✔ | 10807 | 개수 세기 | 정답 코드 |
기본 문제✔ | 13300 | 방 배정 | 정답 코드 |
기본 문제✔ | 11328 | Strfry | 정답 코드 |
기본 문제✔ | 1919 | 애너그램 만들기 | 정답 코드 |
728x90
반응형
'알고리즘 > 공부' 카테고리의 다른 글
[바킹독 알고리즘] 0x07강:Deque (1) | 2023.01.06 |
---|---|
[바킹독 알고리즘] 0x06강:Queue (0) | 2023.01.04 |
[바킹독 알고리즘] 0x05강:Stack (1) | 2022.12.27 |
[바킹독 알고리즘] 0x04강:Linked List (0) | 2022.12.26 |
[바킹독 알고리즘] 0x02강:STL (0) | 2022.12.22 |