알고리즘

내일배움 캠프 다섯번째 걸음

choijming21 2024. 7. 8. 18:16

1. CODEKATA

 

ⓐ 자릿수 더하기 문제: 자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요.
예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다.

 

<제한 사항>

- 자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요.
예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다.

 

<입출력 예>

N answer
123 6
987 24

                                                                

<입출력 예 설명>

입출력 예 #1

문제의 예시와 같습니다.

입출력 예 #2

9+8+7 = 24이므로 24를 return하면 됩니다.

.

.

.

 

풀이: 결과값을 저장할 변수 answer를 0으로 초기화 한다.

주어진 숫자 n을 문자열로 변환한다. 이렇게 하면 각 자리수를 문자로 분리하여 접근할 수 있다.

문자열 n을 순회한다. for...of 문법을 사용하여 문자열의 각 문자에 접근한다. 이때 i는 현재 순회 중인 문자를 나타낸다.

현재 순회 중인 문자 i를 숫자로 변환한 수, answer에 더한다. 이렇게 하면 각 자리수를 모두 더할 수 있다.

더한 결과값 answer를 반환한다.

 

 

 

 

2. 강의 내용

 

Front End: 눈에 보이는 부분 담당 - HTML, CSS, JAVASCRIPT

 

                                요청↓        ↑응답

 

Back End: 눈에 보이지 않는 부분 담당 - SERVER, DB, API

 

 

파이어베이스(Firebase)란?

구글이 개발한 모바일 및 웹 애플리케이션 개발 플랫폼이다. 개발자들이 백엔드 인프라를 구축하거나 관리하는 복잡한 작업 없이 핵심 기능에 집중할 수 있도록 도와준다. 쉽게말해, 프론트엔드는 눈에 보이는 것에 조금 더 집중해서 개발을 할 수 있고 백엔드는 구글에서 주는 기능을 빌려다가 쓸 수 있게 만들어둔 것이 파이어베이스이다. 우리가 그 안에서 쓸 것은 데이터베이스(database)이다. 데이터베이스가 있으면 데이터를 저장해놓고 다시 가져다가 쓸 수 있다. 사용량만 넘어가지 않으면 무료!!!

 

https://firebase.google.com/?hl=ko ← 파이어베이스 링크

 

 

데이터베이스(Database)란?

데이터를 저장하고 여러 사람들이 관리하는 데이터 모음집이다. 예를 들어, 방 정리는 왜 하는 걸까요? 잘 보관하려고? 잘 찾으려고?

나중에 우리가 잘 찾으려고 미리 저장해두는 것이다. 즉, 데이터 베이스는 데이터를 잘 찾기 위해거 존재하는 것이다. 데이터베이스를 사용하면 정보를 쉽게 찾고 업데이트 할 수 있고, 많은 양의 정보를 효율적으로 관리할 수 있다. 그래서 많은 조직과 기업들이 데이터베이스를 사용하고 있다.

 

<데이터베이스의 종류>

ⓐ 관계형 데이터베이스(SQL): 정리된 정보를 다룰 때 사용   ex)은행, 대기업

ⓑ 비관계형 데이터베이스(No SQL): 복잡하거나 유연한 정보를 다룰 때 사용   ex)스타트업

※ 여기서 No는 Not only의 약자이다.

 

 쉽게 말해, 관계형데이터 베이스는 엑셀이라고 보면 된다. 이미 표가 다 그려져 있는 것이다. 예를 들어, 어떤 슈퍼마켓에서 관계형데이터베이스를 사용한다. 이름, 고객의 나이, 성별, 이메일, 휴대폰 번호 이렇게 있다고 가정하자. 그런데 어느날 어떤 고객의 휴대폰 번호가 2개라 휴대폰1, 휴대폰2하고 넣어야하는데 칸이 한칸으로 정해져 있어 넣지 못한다. 주어진 칸 안에 안맞으면 못넣는다. 그런데 비관계형데이터베이스는 칸이 정해져 있지 않아 어떤 사람은 휴대폰 번호가 들어가도 되고 주소가 들어가도 되고 아예 적지 않을 수도 있다. 다시말해서 훨씬 더 자유도가 높다고 볼 수 있다. 그렇기 때문에 장단점이 존재한다. 주로 틀이 짜여져 있고 사람의 실수가 나면 안되는 곳은 관계형데이터베이스이고, 앞으로 바뀔 여지가 많은 곳은 비관계형데이터베이스를 사용해야한다. 

 

※ 각각의 데이터베이스 유형은 다른 용도와 장단점을 가지고 있다.

데이터의 구조와 요구 사항에 맞춰서 적절한 데이터베이스 유형을 선택하는 것이 중요하다!

 

 

◆ 데이터베이스의 실체는 무엇일까?

아주 간단하게 우리가 쓰는 프로그램과 같은 것이다.

즉, 내 컴퓨터에 게임도 설치하고, PPT도 설치하고, DB도 설치할 수 있는 것이다. 실제로 DB를 보면 엑셀처럼 되어있다.

실제 데이터베이스이다.

 

 위에 보이는 사진처럼 데이터가 다 들어가 있다.여기서 정보를 가지고 오는 것이 굉장히 빠르다. 이게 얼마나 빠르냐면 이름으로 정렬이 되어 있다고 하면 '홍길동'이라는 이름을 찾는데 처음부터 보는게 아니라 바로 들어가서 가지고 온다. 그렇기 때문에 수십만 수백만 건의 데이터들도 바로 접근해서 가지고 올 수 있는 것이다. 이것을 우리는 index라고 부른다.

 

 

 

'알고리즘' 카테고리의 다른 글

문자열 길이 문제풀기  (1) 2024.07.23
내일배움캠프 여섯번째 발걸음  (1) 2024.07.09
내일배움캠프 네번째 걸음  (1) 2024.07.05
내일배움캠프 세번째 걸음  (0) 2024.07.03
내일배움캠프 두번째 걸음  (0) 2024.07.02