728x90
반응형
-. i, j에서 중복되지 않는 값을 구하기 위해 for문으로 일일이 체크해서 구하려 했는데 그건 비효율적이고 해서 다른 분이 푼 걸 참고함. 생각도 못했음. 아래와 같이 해서 중복이 되지 않는 값을 구해서 해보려 했었음.
#include <stdio.h>
#include <string.h>
int main()
{
int arr[3] = { 4,4,10 };
int check[11] = {};
int dx;
printf("size = %d\n", sizeof(arr) / sizeof(int));
for (int i = 0; i < sizeof(arr) / sizeof(int); i++) {
dx = arr[i];
check[dx]++;
}
printf("중복 아닌 숫자: ");
for (int i = 0; i < sizeof(check) / sizeof(int); i++) {
if (check[i] == 1) {
printf("%d\n", i);
}
}
}
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
// v_row_len은 2차원 배열 v의 행(세로) 길이입니다.
// v_col_len은 2차원 배열 v의 열(가로) 길이입니다.
// v[i][j]는 v의 i번째 행의 j번째 열에 저장된 값을 의미합니다.
int* solution(int **v, size_t v_row_len, size_t v_col_len) {
// return 값은 malloc 등 동적 할당을 사용해주세요. 할당 길이는 상황에 맞게 변경해주세요.
int* answer = (int*)malloc(sizeof(int)*2); // int 2개
answer[0] = 0;
answer[1] = 0;
for(int i = 0; i < 3; i++){
answer[0] ^= v[i][0]; // answer[0] = answer[0] ^ v[i][0]
answer[1] ^= v[i][1]; // answer[1] = answer[1] ^ v[i][1]
}
return answer;
}
-. XOR을 이용하면 됨. XOR는 같으면 0, 다르면 1임. 디지털논리 내용임.
-. XOR을 이용해서 품.
728x90
반응형
'공돌이 > C언어' 카테고리의 다른 글
[프로그래머스/C언어] 순열 검사 (0) | 2023.03.25 |
---|---|
[프로그래머스/C언어] 자릿수 더하기 (0) | 2023.03.25 |
[C언어] 오름차순, 내림차순 (0) | 2023.03.24 |
[프로그래머스/C언어] 올바른 괄호 (0) | 2023.03.23 |
[프로그래머스/C언어] 없는 숫자 더하기 (0) | 2023.03.21 |
댓글