diff --git a/src/problem1.js b/src/problem1.js index 9a14f2c..5f9c564 100644 --- a/src/problem1.js +++ b/src/problem1.js @@ -1,6 +1,51 @@ function problem1(pobi, crong) { var answer; + var page = [pobi, crong]; + var sum = [0, 0]; + var hundred, ten, one; + + if (pobi[1] - pobi[0] != 1 || crong[1] - crong[0] != 1){ + answer = -1; + return answer; + } + + for (var pageNum = 0; pageNum < page.length; pageNum++){ + for (var parity = 0; parity < page[pageNum].length; parity++){ + if (page[pageNum][parity] < 1 || page[pageNum][parity] > 400 || page[pageNum][0] % 2 != 1){ + answer = -1; + return answer; + } + for (var arithmetic = 0; arithmetic < sum.length; arithmetic++){ + hundred = Math.trunc(page[pageNum][parity] / 100); + ten = Math.trunc(page[pageNum][parity] %100 / 10); + one = Math.trunc(page[pageNum][parity] %10); + + if (arithmetic == 0){ + if (sum[pageNum] < hundred + ten + one){ + sum[pageNum] = hundred + ten + one; + } + } else { + if (hundred == 0){ + hundred = 1; + if (ten == 0){ + ten = 1; + } + } + if (sum[pageNum] < hundred * ten * one){ + sum[pageNum] = hundred * ten * one; + } + } + } + } + } + if (sum[0] > sum[1]){ + answer = 1; + } else if (sum[0] == sum[1]){ + answer = 0; + } else if (sum[0] < sum[1]){ + answer = 2; + } return answer; } -module.exports = problem1; +module.exports = problem1; \ No newline at end of file diff --git a/src/problem2.js b/src/problem2.js index cebd07c..cd1c67a 100644 --- a/src/problem2.js +++ b/src/problem2.js @@ -1,6 +1,20 @@ function problem2(cryptogram) { var answer; - return answer; + var text = cryptogram; + while (true){ + answer = text; + text = ''; + for (var loc = 0; loc < answer.length; loc++){ + if (answer[loc] == answer[loc + 1]){ + loc += 1; + continue; + } + text += answer[loc]; + } + if (answer == text){ + return answer + } + } } module.exports = problem2; diff --git a/src/problem3.js b/src/problem3.js index 1baed28..446eb24 100644 --- a/src/problem3.js +++ b/src/problem3.js @@ -1,5 +1,13 @@ function problem3(number) { var answer; + answer = 0; + for (var num = 1; num < number + 1; num++){ + for (var list of String(num)){ + if (list == '3' || list == '6' || list == '9'){ + answer += 1; + } + } + } return answer; } diff --git a/src/problem4.js b/src/problem4.js index ee1d3bd..7602a9a 100644 --- a/src/problem4.js +++ b/src/problem4.js @@ -1,5 +1,23 @@ function problem4(word) { var answer; + answer = ''; + + var code = [0, 0]; + var startWord = ['A'.charCodeAt(), 'a'.charCodeAt()]; + var endWord = ['Z'.charCodeAt(), 'z'.charCodeAt()]; + + for (var loc = 0; loc < word.length; loc++){ + for (var upDown = 0; upDown < code.length; upDown++){ + code[upDown] = startWord[upDown] + endWord[upDown] - word[loc].charCodeAt(); + if (code[upDown] <= endWord[upDown] && code[upDown] >= startWord[upDown]){ + answer += String.fromCharCode(code[upDown]); + break; + } + if (upDown == 1){ + answer += word[loc]; + } + } + } return answer; } diff --git a/src/problem5.js b/src/problem5.js index 9368e87..8504f76 100644 --- a/src/problem5.js +++ b/src/problem5.js @@ -1,5 +1,15 @@ function problem5(money) { var answer; + // [5만, 1만, 5천, 1천, 5백, 1백, 5십, 1십, 일] + answer = [0, 0, 0, 0, 0, 0, 0, 0, 0]; + copyMoney = money + paper = [50000, 10000, 5000, 1000, 500, 100, 50, 10, 1]; + for (var count = 0; count < paper.length; count++){ + if (copyMoney / paper[count] >= 1){ + answer[count] = Math.trunc(copyMoney / paper[count]); + copyMoney = copyMoney % paper[count]; + } + } return answer; } diff --git a/src/problem6.js b/src/problem6.js index 3f842b5..d5a5dcb 100644 --- a/src/problem6.js +++ b/src/problem6.js @@ -1,5 +1,27 @@ function problem6(forms) { var answer; + answer = []; + sort = ''; + for (var member = 0; member < forms.length; member++){ + for (var word = 0; word < forms[member][1].length - 1; word++){ + for (var check = 0; check < forms.length; check++){ + if (member != check){ + keyword = forms[member][1][word] + forms[member][1][word + 1]; + if (forms[check][1].indexOf(keyword) !== -1){ + answer.push(forms[member][0]); + break; + } + } + } + } + } + for (var loc = 0; loc < answer.length - 1; loc++){ + if (answer[loc] > answer[loc + 1]){ + sort = answer[loc + 1]; + answer[loc + 1] = answer[loc]; + answer[loc] = sort; + } + } return answer; } diff --git a/src/problem7.js b/src/problem7.js index ee1bb9d..5b42094 100644 --- a/src/problem7.js +++ b/src/problem7.js @@ -1,5 +1,49 @@ function problem7(user, friends, visitors) { - var answer; + var answer = []; + var relative = []; + var score = []; + for (var num = 0; num < friends.length; num++){ + for (var AB = 0; AB < friends[num].length; AB++){ + if (friends[num][AB] == user){ + relative.push(friends[num][1 - AB]); + } + } + } + for (var num = 0; num < friends.length; num++){ + for (var AB = 0; AB < friends[num].length; AB++){ + friendsLoop: + for (var num2 = 0; num2 < relative.length; num2++){ + if (friends[num][AB] == relative[num2] && friends[num][1 - AB] != user){ + for (var index = 0; index < score.length; index++){ + if (score[index][0] == friends[num][1 - AB]){ + score[index][1] += 10; + continue friendsLoop; + } + } + score.push([friends[num][1 - AB], 10]); + } + } + } + } + visitorsLoop: + for (var num = 0; num < visitors.length; num++){ + if (relative.indexOf(visitors[num]) == -1 && visitors[num] != user){ + for (var index = 0; index < score.length; index++){ + if (score[index][0] == visitors[num]){ + score[index][1] += 1; + continue visitorsLoop; + } + } + score.push([visitors[num], 1]); + } + } + for (var index = 0; index < score.length; index++){ + score[index].sort(); + } + score.sort(); + for (var result = 0; result < score.length; result++){ + answer.push(score[result][1]); + } return answer; }