[코테] HackerRank Lonely Integer

Dongmin Lee·2023년 5월 12일
0

코테

목록 보기
7/23

💿 문제

💾 문제 요약

배열 내 유일한 값을 구해라.

💿 풀이

for문 + indexOf 매서드 활용,
요소가 처음 나타나는 인덱스를 구하고 인덱스를 가지고 indexOf를 한번 더 사용해서 return 값이 -1 이면 배열 내 유일한 값.

💾 풀이 코드

'use strict';

const fs = require('fs');

process.stdin.resume();
process.stdin.setEncoding('utf-8');

let inputString = '';
let currentLine = 0;

process.stdin.on('data', function(inputStdin) {
    inputString += inputStdin;
});

process.stdin.on('end', function() {
    inputString = inputString.split('\n');

    main();
});

function readLine() {
    return inputString[currentLine++];
}

/*
 * Complete the 'lonelyinteger' function below.
 *
 * The function is expected to return an INTEGER.
 * The function accepts INTEGER_ARRAY a as parameter.
 */

function lonelyinteger(a) {
    for (let i=0; i<a.length; i++) {
        let index = a.indexOf(a[i]);
        let dup = a.indexOf(a[i],index+1);
        if(dup === -1) {
            return a[i];
        }
    }
}

function main() {
    const ws = fs.createWriteStream(process.env.OUTPUT_PATH);

    const n = parseInt(readLine().trim(), 10);

    const a = readLine().replace(/\s+$/g, '').split(' ').map(aTemp => parseInt(aTemp, 10));

    const result = lonelyinteger(a);

    ws.write(result + '\n');

    ws.end();
}

💿 리마인더

indexOf 매서드 -> 인자가 2개일 땐 2번째 인자 값인 인덱스부터 검사함.

profile
어제보다 성장하기

0개의 댓글