Dgos

dongjune's dev blog

[백준] 1149번 RGB거리 - C++

DP, 다이나믹 프로그래밍

문제 1149번 RGB거리 풀이 DP를 사용해서 풀 수 있습니다. 메모이제이션을 수행 할 2차원 배열을 만들어줍니다. 3가지 색이 있기 때문에 배열 크기는 N행 3열이 됩니다. 이 문제에서 중요한 점은 앞 뒤로 색이 연속되면 안됩니다. 그렇기 때문에 다음의 코드와 같이 현재 color가 rgb중 r이라고 하면 앞 집은 g와 b중 하나가 되어야 합니다....

[백준] 9095번 1,2,3 더하기 - C++

DP, 다이나믹 프로그래밍

문제 9095번 1,2,3 더하기 풀이 1을 만드는 경우의 수는 1 가지, 2는 2 가지, 3은 4 가지의 경우의 수를 갖습니다. 4를 만드는 경우의 수는 단순히 1에서 3을 더한 경우, 2에서 2를 더한 경우, 3에서 1을 더한 경우의 수를 모두 더해주면 됩니다. 5도 마찬가지로 2에서 3을 더한 경우, 3에서 2를 더한 경우, 4에서 1을 더한 경...

[Node.js] json web token 기반의 Auth 구현

jsonwebtoken

이번 포스팅에서는 json web token을 이용한 토큰 기반 user 인증을 구현해보겠습니다. 회원가입 성공시 json web token 받기 다음과 같이 회원가입을 담당하는 router 가 있습니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 ...

[Node.js, MongoDB] 회원가입 기능 구현하기

router, schema

지난 포스팅에서 nodejs 앱에 mongoDB를 연결해봤습니다. 이번에는 mongoDB에 회원 정보를 저장하여 회원가입 기능을 구현해보겠습니다. Schema와 Model 생성 일단 mongoDB에 user 정보를 저장하기 위해서는 Schema 를 생성해야 합니다. Schema는 간단히 말해 data에 대한 틀입니다. 예를 들어 user 정보에...

[Node.js] MongoDB 연결하기

mongoose

지난 포스팅에서는 express로 서버를 구축해봤습니다. 이번 포스팅에서는 mongoDB를 연결하는 방법을 알아보겠습니다. package 우선 필요한 package들을 설치하겠습니다. 1 $ npm i mongoose config mongoose를 통해 nodejs에서 mongoDB를 사용할 수 있습니다. config는 mongoDB의 U...

[Swift] Optional - 2

Optional Binding, Chaining an the Nil Coalescing Operator

지난 포스팅에서 Optional의 개념과 Forced Unwrapping( ! ) 대해서 알아보았습니다. 하지만 Forced Unwrapping 을 사용하려면 Optional 변수 값이 반드시 존재해야 돼서 이것만으로는 nil 값을 다루기에는 한계가 있었습니다. 이번 포스팅에서는 이러한 문제점을 해결해주는 4가지 방법에 대해서 자세히 알아보겠습니다....

[Swift] Optional - 1

?!

Optional 이란? Swift는 다른 언어보다 안전한 코딩을 하도록 도와줍니다. 그 안전한 코딩의 중요한 요소중 하나가 오늘 다룰 Optional 입니다. Swift는 기본적으로 변수 선언 시 nil 값이 들어가는 것을 허용하지 않습니다. 다음의 코드에서는 컴파일 에러가 일어납니다. 1 var myValue : Int = nil // compil...

[iOS] MVC 패턴

Model, View, Controller

오늘은 Design Patterns의 한 종류인 MVC 패턴에 대해 알아보겠습니다. Design Pattern은 코드를 조직적으로 구성하는 방법입니다. 이를 통해 코드의 복잡성을 줄여 가독성을 높이고 유지 보수를 보다 쉽게 할 수 있습니다. 또한 다른 사람과 공통된 Design Pattern을 사용한다면 협업에 굉장히 유리해지겠죠. Design Pa...

[iOS] 버튼 클릭 시 sound 효과 설정 - Swift

Play sound when press a button

우선 AVAudioPlayer를 사용하기 위해 AVFoundation Module을 import 해줍니다. 1 import AVFoundation 그리고 AVAudioPlayer 타입의 변수를 생성합니다. 1 var player:AVAudioPlayer! 이제 버튼의 Action 함수 안에서 sound 효과를 설정해보겠습니다. 코드 설명은 주석...

[iOS] Change button title - Swift

setTitle

setTitle 명령어를 통해 UIButton의 title을 바꿀 수 있습니다. 1 button.setTitle("Change a title",for:.normal) 다음 코드는 앱이 로드 됐을 때 (viewDidLoad) UIButton의 title을 바꾸는 코드입니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 import UIKi...