본문 바로가기

백준

백준11383 - 뚊

https://www.acmicpc.net/problem/11383

 

11383번: 뚊

입력의 첫 번째 줄에 N, M (1 ≤ N, M ≤ 10)이 주어진다. 다음 N개의 줄의 각 줄에는 M개의 문자가 주어진다. 다음 N개의 줄의 각 줄에는 2M개의 문자가 주어진다. 모든 문자는 영문 알파벳 대문자 혹��

www.acmicpc.net

클로저를 사용하기 위하여 풀었다. 또한 최대한 고차함수를 이용한 풀이법을 생각하였다. 문제를 해결하는 방법은 앞서 들어온 그림과 나중에 들어온 그림을 나눠서 받은 뒤 저장을 하고 앞서 들어온 그림을 가로로 두 배씩 늘려 저장하여 주어진 두 배 늘린 결과와 같은지 비교한다

//1. 클로저를 이용하자
//2. 비동기로 처리하자
const readline = require('readline')
const { SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION } = require('constants')

let input = []
let cnt = 0

const rl = readline.createInterface({
    output: process.stdout,
    input: process.stdin
})

function parseValue(input) {
    input.shift()
    return function seperate() {
        const a = [], b = []
        for(let i = 0; i < input.length / 2; i++) {
            a.push(input[i])
        }
        for(let i = input.length / 2; i < input.length; i++) {
            b.push(input[i])
        }
        return [a, b]
    }
}

function solution(res) {
    for(let i = 0; i < res[0].length; i++) {
        res[0][i] = res[0][i].split('').map(x => { return x + x }).join('')
    }
    const check = res[0].every((x, idx) => {
        return res[1][idx] === x
    })

    if(check) {
        return 'Eyfa'
    }
    else {
        return 'Not Eyfa'
    }
}

rl.on('line', (line) => {
    input.push(line)
}).on('close', () => {
    const res = parseValue(input)()
    console.log(solution(res))
    process.exit()
})

'백준' 카테고리의 다른 글

백준4470 - 줄번호  (0) 2020.08.06
백준17249 - 태보태보 총난타  (0) 2020.08.06
백준1388 - 바닥 장식  (0) 2020.08.03
백준2479 - 경로 찾기  (0) 2020.07.16
백준2109 - 순회강연  (0) 2020.07.08