using System;
public class Solution {
public int solution(int[] array) {
int answer = 0;
int maxArr = 0;
// 배열 안에서 가장 큰 수 찾기
for(int i = 0 ; i < array.Length ; i++){
if(array[i] > maxArr){
maxArr = array[i];
}
}
int[] count = new int[maxArr + 1];
int max = 0;
int numCheck = 0;
// 카운트 배열에 array 가 속한 숫자가 있으면 카운트 ++
for(int i = 0 ; i < array.Length ; i++){
count[array[i]]++;
}
// 각 숫자마다 카운트를 비교 후 가장 높은 카운트를 가진 수를 max에 입력
for(int i = 0 ; i < count.Length; i++){
if(count[i] > max){
max = count[i];
answer = i;
}
}
// 가장 높은 카운트를 가진 수가 여러개 있는 경우 numCheck 값을 ++ 하여
for(int i = 0 ; i < count.Length ; i++){
if(count[i] == max){
numCheck++;
}
}
// numCheck 값이 1보다 크면 동일한 높은 카운트를 가진 수가 있다는 뜻이므로, -1 을 출력
if(numCheck > 1){
answer = -1;
}
return answer;
}
}
IT
- 코딩테스트 입문 - 최빈값 구하기(C#) 2023.03.15
- 코딩테스트 연습2023 KAKAO BLIND RECRUITMENT(2) 2023.02.09
- 코딩테스트연습 - KAKAO BLIND (2) 효율성 0 2023.01.26
- 코딩테스트연습 > 2021 KAKAO BLIND RECRUITMENT 효율성 0 코드 ㅜㅜ 2023.01.26
코딩테스트 입문 - 최빈값 구하기(C#)
코딩테스트 연습2023 KAKAO BLIND RECRUITMENT(2)
function solution(today, terms, privacies) {
var answer = [];
const contract = (terms.map(str => str.match(/\d+/)[0]));
const todayDate = '2020.01.01';
let termsMap = new Map();
for (let str of terms) {
let [key, value] = str.split(' ');
termsMap.set(key, value);
//console.log(termsMap.get(key));
}
const [year, month, day] = today.split(".").map(Number);
const todayCount = ((year-2000) *12*28) + ((month-1)*28) + (day-1);
// 6720
const privaciesMap1 = privacies.map((map, idx) => [idx+1, ...map.split(' ')]);
//console.log(privaciesMap1);
for (let i = 0; i < privaciesMap1.length ; i++){
let value = privaciesMap1[i][2];
console.log(termsMap.get(value));
let [year, month, day] = privaciesMap1[i][1].split(".").map(Number); let diffCount = ((year-2000) *12*28) + ((month-1)*28) + (day-1);
if(todayCount >= (diffCount+(termsMap.get(value)*28))){
answer.push(privaciesMap1[i][0]);
}
}
return answer;
}
'IT > JavaScript' 카테고리의 다른 글
코딩테스트연습 - KAKAO BLIND (2) 효율성 0 (0) | 2023.01.26 |
---|---|
코딩테스트연습 > 2021 KAKAO BLIND RECRUITMENT 효율성 0 코드 ㅜㅜ (0) | 2023.01.26 |
간단한 카운터 프로그램 (0) | 2023.01.25 |
현재 위치를 알아내는 방법 (0) | 2022.12.16 |
백그라운드 이미지 랜덤하게 지정하기. (0) | 2022.11.17 |
코딩테스트연습 - KAKAO BLIND (2) 효율성 0
function solution(info, query) {
var answer = [];
let count = 0;
let number = 0;
let infoObj = [];
let queryObj = [];
info.forEach(element => {
const [lang, job, grade, food, score] = element.split(' ');
infoObj.push({ lang, job, grade, food, score });
});
query.forEach(element => {
const [lang, job, grade, foodScore] = element.split(' and ');
const [food, score] = foodScore.split(' ');
queryObj.push({ lang, job, grade, food, score });
});
for(let i=0 ; i< queryObj.length ; i++)
{
for(let j=0 ; j< infoObj.length ; j++)
{
if (parseInt(infoObj[j].score) >= parseInt(queryObj[i].score))
{
if(queryObj[i].lang == '-' )
{
count += 1;
}
if (queryObj[i].job == '-' )
{
count += 1;
}
if ( queryObj[i].grade == '-')
{
count += 1;
}
if ( queryObj[i].food == '-')
{
count += 1;
}
if (infoObj[j].lang == queryObj[i].lang)
{
count += 1;
}
if (infoObj[j].job == queryObj[i].job)
{
count += 1;
}
if (infoObj[j].grade == queryObj[i].grade)
{
count += 1;
}
if (infoObj[j].food == queryObj[i].food)
{
count += 1;
}
if (count > 3){
number += 1 ;
count = 0;
}
}
count = 0;
}
answer.push(number);
number = 0;
}
return answer;
}
===================================================================
function solution(info, query) {
var answer = [];
let count = 0;
let number = 0;
let infoMap = new Map();
let queryObj = [];
info.forEach(element => {
const [lang, job, grade, food, score] = element.split(' ');
if(!infoMap.has(lang)) infoMap.set(lang, new Map());
if(!infoMap.get(lang).has(job)) infoMap.get(lang).set(job, new Map());
if(!infoMap.get(lang).get(job).has(grade)) infoMap.get(lang).get(job).set(grade, new Map());
if(!infoMap.get(lang).get(job).get(grade).has(food)) infoMap.get(lang).get(job).get(grade).set(food, []);
infoMap.get(lang).get(job).get(grade).get(food).push(parseInt(score));
});
query.forEach(element => {
const [lang, job, grade, foodScore] = element.split(' and ');
const [food, score] = foodScore.split(' ');
queryObj.push({ lang, job, grade, food, score });
});
for(let i=0 ; i< queryObj.length ; i++)
{
for(let lang of infoMap.keys()){
if (lang !== queryObj[i].lang && queryObj[i].lang !== '-') continue;
for(let job of infoMap.get(lang).keys()){
if (job !== queryObj[i].job && queryObj[i].job !== '-') continue;
for(let grade of infoMap.get(lang).get(job).keys()){
if (grade !== queryObj[i].grade && queryObj[i].grade !== '-') continue;
for(let food of infoMap.get(lang).get(job).get(grade).keys()){
if(food !== queryObj[i].food && queryObj[i].food !== '-') continue;
const scores = infoMap.get(lang).get(job).get(grade).get(food);
if(!scores) continue;
number += scores.filter(score => score >= parseInt(queryObj[i].score)).length;
}
}
}
}
answer.push(number);
number = 0;
}
return answer;
}
'IT > JavaScript' 카테고리의 다른 글
코딩테스트 연습2023 KAKAO BLIND RECRUITMENT(2) (0) | 2023.02.09 |
---|---|
코딩테스트연습 > 2021 KAKAO BLIND RECRUITMENT 효율성 0 코드 ㅜㅜ (0) | 2023.01.26 |
간단한 카운터 프로그램 (0) | 2023.01.25 |
현재 위치를 알아내는 방법 (0) | 2022.12.16 |
백그라운드 이미지 랜덤하게 지정하기. (0) | 2022.11.17 |
코딩테스트연습 > 2021 KAKAO BLIND RECRUITMENT 효율성 0 코드 ㅜㅜ
* 회사 직원분이 해보자고 해서, 어떻게든 해서 결과는 나왔는데.... 효율성이 제로 ㅜㅜ
다시 수정해서 어떻게든 효율성을 올려볼 예정임... (정식적으로 배우지 않은티가 너무 나는게 함정;;;)
function solution(info, query) {
var answer = [];
let count = 0;
let number = 0;
let infoObj = [];
let queryObj = [];
info.forEach((element, index) => {
infoObj.push(element.split(' '));
})
query.forEach((element, index) =>{
const list = element.split(' and ')
const list2 = list[3].split(' ');
list.pop();
list.push(list2[0]);
list.push(list2[1]);
queryObj.push(list);
})
for(let i=0 ; i< queryObj.length ; i++)
{
for(let j=0 ; j< infoObj.length ; j++)
{
if (parseInt(infoObj[j][4]) >= parseInt(queryObj[i][4]))
{
for(let k=0; k<4 ; k++){
if(queryObj[i][k] == '-')
{
count += 1;
} else if (infoObj[j][k] == queryObj[i][k])
{
count += 1;
}
if (count > 3){
number += 1 ;
count = 0;
}
}
count = 0;
}
}
answer.push(number);
number = 0;
}
return answer;
}
'IT > JavaScript' 카테고리의 다른 글
코딩테스트 연습2023 KAKAO BLIND RECRUITMENT(2) (0) | 2023.02.09 |
---|---|
코딩테스트연습 - KAKAO BLIND (2) 효율성 0 (0) | 2023.01.26 |
간단한 카운터 프로그램 (0) | 2023.01.25 |
현재 위치를 알아내는 방법 (0) | 2022.12.16 |
백그라운드 이미지 랜덤하게 지정하기. (0) | 2022.11.17 |