const $keyword = document.querySelector(".keyword");
const $keywords = document.querySelector(".keywords");
const $searchResults = document.querySelector(".search-results");
const $noResult = document.getElementById("noResult");
const $noValue = document.getElementById("noValue");
const $result = document.querySelector(".result");
const $resultName = document.getElementsByName('resultName');
const $body = document.querySelector('body');
const controller = new AbortController();

function searchImg(value){
  loading('start');
  fetch(
    `https://jf3iw5iguk.execute-api.ap-northeast-2.amazonaws.com/dev/api/cats/search?q=${value}`
  )
    .then((res) => res.json())
    .then((results) => {
      loading('finish');
      if (results.data) {
        if(results.data.length==0){
          $noResult.style.display="block";
          $searchResults.innerHTML = "";
        }
        else{
          console.log(results.data)
          $result.innerHTML = "";
          $noResult.style.display="none";
          $searchResults.innerHTML = results.data
          .map((cat) => `<article><img src="${cat.url}" /></article>`)
          .join("");
        }

      }
    });
}

function loading(state){

  if(state=="start"){
    document.getElementById('loadingImage').style.display='block'; 
  }
  else{
    document.getElementById('loadingImage').style.display='none';
  }
   
}

$body.addEventListener('click', function(e){
  var target = e.target;
  if(target == e.currentTarget.querySelector(".result") ){
    return ;
  }
  $result.innerHTML = "";
});

$keyword.addEventListener("keyup", (e) => {
  controller.abort(); //요청 취소
  const { value } = e.target;
  const { key } = e;
  if (value === "") {
    $noValue.style.display="block";
    return;
  }
  if (key === "Enter") {
    $noValue.style.display="none";
    searchImg(value);
  }
  else if(e.keyCode  == 27){
    $noValue.style.display="none";
    $result.innerHTML = "";
    console.log("esc")
    return;
  }
  else {    //추천 검색어
    $noValue.style.display="none";
    loading('start');
    fetch(
      `https://jf3iw5iguk.execute-api.ap-northeast-2.amazonaws.com/dev/api/cats/keywords?q=${value}`
    )
    .then((res) => res.json())
    .then((results) => {
      loading('finish');
      $result.innerHTML = "";
      let dynamicHTML = "";
      for(let i = 0; i<results.length; i++){
        dynamicHTML += '<div><span class="resultName name="resultName" id="result_'+i+'">'+results[i]+'</span></div>'

      }

      $result.innerHTML += dynamicHTML;
      for(let i = 0; i<results.length; i++){
        document.getElementById('result_'+i).addEventListener('click',function(e){
            document.getElementById('result_'+i).style.backgroundColor="lightgrey";
            $keyword.value=document.getElementById('result_'+i).innerText;
            searchImg(value);
        })
      }
    });

  }
});

개발자로 입사 후 첫 코딩테스트

아직 부족한 점이 많고 공부할 것도 많다는 걸 느꼈다.

 

기본기부터 다시 다져야겠다는 생각이 많이 든 코딩테스트

Oh Shin Yeop

프론트엔드 개발자 ( react )

 

학력

2011.03 기장고등학교 입학

2014.03 부경대학교 시스템경영공학부 입학

2020.02 부경대학교 시스템경영공학부 기술서비스공학 전공 학사 졸업

이력

2018 부경대학교 시스템경영공학부 러닝 동아리 FREE-RUN 초대 회장

2020 IDR ENVISION 입사 (스마트팩토리연구소 - 개발팀 - 풀스택 웹개발)

2020 GOGORUN 운영진

2022 비트나인 입사 (그래프기술개발팀 - 프론트엔드 개발)

2023 요즘 IT 개발 컨텐츠 객원 에디터

관심분야 & 취미

산업공학, IT, 프로그래밍, 데이터분석

러닝

기술 & tool

Java Script

React

Redux

Node.js

Java (Spring)

JSP

HTML & CSS

Android

python

DB(mySQL, postgreSQL)

 

Project

Android : 목소리-음계 변환 app

Python : 과거시계열데이터, 감성분석, 머신러닝을 활용한 주식 등락 예측

Business Analytics : 자전거 수요 FA/PCA

java/JSP : CRUD 게시판

기술사업화론 : 기술가치평가 - 경동나비엔 하이브리드 보일러

Operations Research : 배달과 수거가 혼합된 배달경로 최적화 (휴리스틱 method, genetic algorithm) 

 

실시간 제조물류흐름 최적화 및 유연적시제조를 위한 E-paper 기반 양방향 통신 지원의 에너지자립형 스마트 태그 디바이스 개발

OPCUA 연동 데이터를 활용한 실시간 제조 데이터 모니터링 솔루션 ( 실시간 그래프 대시보드, 디바이스 등록/조회, 과거 데이터 조회 등)

- jsp, mqtt, mysql

E-paper 플랫폼 솔루션 ( E-paper 전송을 위한 동적 데이터 삽입 Drawing 툴 , 디바이스 등록 및 조회, 실시간 데이터 조회 등 )

- JS, node.js, express.js , mqtt, spring boot (java), mysql

kafka를 활용한 제조 이상 데이터 카카오워크 알림 서비스

- React, springboot, kafka, hsqldb

부동산 투자 플랫폼 퍼블리싱

- html, css, express.js

데이터베이스 모니터링 솔루션

- React, Redux (tool kit) ,  react-query, PWA

 

자격증 및 어학

TOEIC Speaking 130/Level6 ( 19.05.18 )

정보처리기사 ( 19.11.23 ) 

N,K = map(int,input().split())
money = []
Total_count = 0
for i in range(N):
  money.append(input())

money = list(map(int, money))
money.sort(reverse=True)

for i in range(0,N): 
  if int(money[i]) <= K:
    Total_count += int(K/int(money[i]))
    count = int(K/int(money[i]))
    K = K-count*int(money[i])
  elif K <= 0:
    break

print(Total_count)


 

 

(백준) 2798번 - 블랙잭

a,b = map(int,input().split())
cardd = list(map(int,input().split(' ')))

summ=0
sum_2 = []
for i in range(0,a-2):
  for j in range(i+1,a-1):
    for k in range(j+1,a):
      summ = cardd[i] + cardd[j] + cardd[k]
      if summ <= b:
        sum_2.append(summ)
print(max(sum_2))
        

 
a,b,c = map(int,input().split())
for i in range(a):
  for j in range(b):
    for k in range(c):
      print(i,j,k)
print(a*b*c)

+ Recent posts