본문 바로가기

분류 전체보기

(7)
[내문내풀] N! 끝에서부터 0이 아닌 숫자가 등장하기 전까지 0의 갯수 구하기 내가 내고 내가 풀어보기. 예전, 한 기업 코딩테스트에서 비슷한 문제를 받았던 기억이 있어서 기록해두기 위해 풀어보는 문제이다. 숫자 N이 주어졌을 때, N! 을 계산한 결과에서 가장 오른쪽부터 0이 아닌 숫자가 등장하기 전까지의 0의 갯수를 출력하시오 입력 예시 15 출력 예시 3 입력 제한 0 > N; cout
MySQL Foreign Key 설정 오류 해결 (Cannot add foreign key constraint) 상황 기존에 있던 테이블의 PRIMARY KEY를 FOREIGN KEY로 하는 테이블을 생성하려고 하는데 오류가 났음. (Type 동일한 것도 확인했는데, 해당 오류코드로 검색하면 타입 확인을 잘 하라는 내용 뿐이었음) mysql> show parent; +------------+-------------+------+-----+-------------------+-----------------------------+ | Field | Type | Null | Key | Default | Extra | +------------+-------------+------+-----+-------------------+-----------------------------+ | id | varchar(16) | NO..
[JavaScript] Date 관련 iOS에서의 문제 현재 개발중인 Application에서는 iOS에서는 `webkitwebview`, 안드로이드에서는 WebView를 활용하여 웹앱을 개발하고 있다. 개발 도중, iOS에서 특정 javascript 코드가 의도와는 전혀 달리 동작하여, 추후 확인 및 원인 분석을 위해 우선 기록해둔다. 문제가 됐던 코드 한 줄은 아래와 같다. let time_string = '2022-04-21 14:50:03'; let time_date = new Date(time_string); 각 YYYY, MM, DD, HH, mm, SS 영역은 항상 4자리 또는 2자리로 고정인 상태였다. (2022-1-2 8:3:2가 아니라 2022-01-02 08:03:02) 우선 임시조치로 아래와 같이 처리해 둔 상태. let time_str..
MySQL 조회 결과를 다르게 표현하기 프로그래머스 중성화 여부 파악하기 문제를 풀어보던 중 평소에는 전혀 사용하지 않던 기능이 필요하게 됐다. 쿼리문에서 결과의 종류에 따라 타 언어에서 switch 또는 if로 처리하듯, 결과를 정해진 종류로 필터해야 하는 경우가 생겼다. 실무에서 사용할지는 모르겠으나, 오늘 처음 알게 된 쿼리에 대해 기록하고자 한다. PEOPLE 구조가 아래와 같다고 생각해보자. ID NAME AGE 1 코코코 4 2 가나다 15 3 홍길동 34 4 김아무 21 5 하지만 25 이 때, 0 ~ 7세는 baby, 8 ~ 19세는 student, 그 외에는 adult 라고 표현하여 아래와 같이 결과를 뽑아내려 한다. ID NAME Filter 1 코코코 baby 2 가나다 student 3 홍길동 adult 4 김아무 adu..
DynamoDB Node.js 에러처리 (수정중) DynamoDB에 데이터를 갱신하기 위해, 현재까지 나의 코드는 아래와 같았다. var documentClient = new AWS.DynamoDB.DocumentClient(); var params = { TableName: 'sample_table_name', Key: { key_name: 'sample_key_name' }, UpdateExpression: 'SET sample=sample', ExpressionAttributeValues: 'sample', ReturnValues: 'UPDATED_NEW' }; documentClient.update(params, function(err, data) { if(err) { // 생성되지 않은 Key값에 대한 처리 res.redirect('/anoth..
Node.js Express + ejs로 WebServer 프로젝트 생성 처음 개발할 당시, html을 이용하여 web server를 구현했었다. pug, jade 등을 활용할 수 있지만, html과 양식이 완전히 같아 사용하기 편했던 ejs로 프로젝트 생성을 하려 한다. 방법은 간단하다. 콘솔로, 프로젝트를 생성할 위치로 이동한 후, 아래를 실행하면 된다. express --view=ejs APPNAME 새로운 폴더가 생기는 것이 싫다면, 아래와 같이 할 경우 해당하는 위치에 모든 프로젝트가 한번에 생긴다. express --view=ejs 이 때, 기본값은 app.js이며, port는 기본으로 3000 포트가 설정되는 것으로 알고있다. (정확하지 않다) bin/www 파일을 수정하여 원하는 포트에서 서버가 구동될 수 있도록 한다. // Before var port = no..
JavaScript 날짜 ISOString 변환시 GMT 반영하기 JavaScript에서 현 날짜 또는 과거 날짜의 데이터를 정형화하기위해 아래 내용을 자주 사용한다. new Date().toISOString() //.slice(0, 19).replace('T', ' '); Date의 toISOString() 함수는 ISO 8601에 기반한 24 또는 27 길이의 날짜/시간을 리턴해주는 함수인데, 유의점이 항상 zero-UTC timezone으로 리턴해준다는 문제점이 있다. 이 문제때문에, 작성한 코드가 한국시각 기준으로 00시에서 09시 사이에 문제가 되는 현상을 가끔 마주하곤한다. 이를 실제 현 시각으로 보여주기 위해, 아래와 같이 Date로 부터 timezone을 얻어내, 계산값에 반영할 수 있다. var timezoneOffset = new Date().getT..