본문 바로가기

Programming10

[Lv.2] 프로그래머스 피로도 (Javascript) 피로도 (Lv.2) 완전탐색을 이용해서 푸는 문제 문제설명 XX게임에는 피로도 시스템(0 이상의 정수로 표현합니다)이 있으며, 일정 피로도를 사용해서 던전을 탐험할 수 있습니다. 이때, 각 던전마다 탐험을 시작하기 위해 필요한 "최소 필요 피로도"와 던전 탐험을 마쳤을 때 소모되는 "소모 피로도"가 있습니다. "최소 필요 피로도"는 해당 던전을 탐험하기 위해 가지고 있어야 하는 최소한의 피로도를 나타내며, "소모 피로도"는 던전을 탐험한 후 소모되는 피로도를 나타냅니다. 예를 들어 "최소 필요 피로도"가 80, "소모 피로도"가 20인 던전을 탐험하기 위해서는 유저의 현재 남은 피로도는 80 이상 이어야 하며, 던전을 탐험한 후에는 피로도 20이 소모됩니다. 이 게임에는 하루에 한 번씩 탐험할 수 있는 .. 2022. 8. 4.
정규식을 활용한 문자열 다루기 js에서 문자열 다루기 이번에 풀어본 문제의 조건은 다음과 같습니다. new_id의 모든 대문자를 대응되는 소문자로 치환합니다. new_id에서 알파벳 소문자, 숫자, 빼기(-), 밑줄(_), 마침표(.)를 제외한 모든 문자를 제거합니다. new_id에서 마침표(.)가 2번 이상 연속된 부분을 하나의 마침표(.)로 치환합니다. new_id에서 마침표(.)가 처음이나 끝에 위치한다면 제거합니다. new_id가 빈 문자열이라면, new_id에 "a"를 대입합니다. new_id의 길이가 16자 이상이면, new_id의 첫 15개의 문자를 제외한 나머지 문자들을 모두 제거합니다. 만약 제거 후 마침표(.)가 new_id의 끝에 위치한다면 끝에 위치한 마침표(.) 문자를 제거합니다. new_id의 길이가 2자 이.. 2022. 7. 15.
제리책방 개발일기:: Grid Layout 적용기 북스타그램에서 영감을 얻은 제리책방의 메인페이지는 인스타와 비슷하게 격자 형태로 이루어져있다. 처음에는 반응형을 고려하여 격자형 레이아웃을 Flex로 구현하였다. Flex box에 flex-wrap: wrap 이라는 속성을주게되면 하위 콘텐츠들이 상위 콘텐츠의 Width를 벗어나면 바로 줄바꿈이 된다. 하지만 flex-box는 1차원 배치 속성이기 때문에 하위 콘텐츠들을 가운데 정렬한 상태에서 flex-wrap을 주게되면 코드는 다음과 같다. display: flex; flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: center; 위와같이 격자가 깨져버린다. 이건 예전에 스타일링할 때도 자주보던 문제인데 이번 기회에 .. 2022. 5. 7.
웹 퍼블리싱할 때 꿀팁 1. inline style 을 피하는 것이 좋습니다. 인라인 스타일은 간단한 내용을 적을 때 태그 자체에 대한 가독성은 좋지만 style 안에 내용이 길어지면 가독성이 급격하게 떨어집니다. 또한 인라인 스타일을 사용하게되면 스타일 코드를 재활용할 수 없게됩니다. ex1) ex2) 2. Semantic Tag 를 활용하는것이 좋습니다. HTML5에서 추가된 Semantic Tag를 활용하면 좀 더 간결하게 작성할 수 있습니다. 또한 브라우저의 코드 인식률도 올라가게됩니다. 3. 가운데 정렬을 위한 여러가지 방법 흔히 center-position-box 를 가운데 정렬하기 위해서 box-wrapper에 display: flex 를 줘서 가운데 정렬을 하곤하는데, box-wrapper 에 display: .. 2021. 3. 25.
사용자를 인증하는 여러가지 방법 인증과정이 없다면 서버와 클라이언트가 데이터를 주고받을 때 중요한 데이터가 오가는 경우가 있을 수 있습니다. 대표 적인 경우가 개인정보등을 다루는 일인데, 이때 내가 아닌 다른사람도 서버에 접근할 수 있다면 매우 위험할 수 있습니다. 이러한 문제가 발생하기때문에 고전적으로는 ID, PW 방식을 통해서 서버에서 데이터들을 보호해왔습니다. 사용자가 ID, PW 를 서버에 전달하면 서버는 그 값을 가지고 있다가 다음에 사용자가 동일한 ID, PW 로 접근하게되면 그에 대한 데이터를 사용자에게 제공하게됩니다. 쿠키와 세션 HTTP 통신은 비연결성(conectionless) 의 특성을 지니기 때문에 한번 통신이 일어나고 난 후에는 통신이 끊어지게 됩니다. 즉 ID, PW 를 통해서 사용자를 인증했다고 해서 다음 .. 2021. 3. 18.
파이어베이스로 웹사이트 배포하기 웹사이트를 제작하고 배포하는 과정을 CS 개념에 기반하여 알아보는 글입니다. 나만 아는 웹사이트? 사이트를 아무리 멋지게 만들고 화려한 기능을 추가한다고 해도 사용해줄 유저들이 없다면 의미가 없습니다. 우리가 만든 웹사이트를 다른 사람들도 이용할 수 있게 하기 위해서는 반드시 배포라는 과정을 거쳐야 합니다. 웹서버가 필요합니다 자신의 컴퓨터를 웹서버로 사용하여 사이트를 배포할 수도 있습니다. 하지만 컴퓨터의 전원이 꺼지면 사이트도 자동으로 내려가게 되므로 사람들이 많이 이용하는 사이트라면 컴퓨터의 전원을 24시간 켜둬야 하는 부담이 있을 수 있습니다. 이러한 일들을 대신 해주는 업체들이 바로 웹 호스팅 업체입니다. 인터넷에 연결된 컴퓨터 하나를 호스트라고 부르는데, 이 컴퓨터 하나에 공간을 쪼개서 호스팅.. 2021. 2. 27.
HTML Canvas Canvas를 활용한 객체지향 맛보기 위 포스팅은 js class 에 대한 기본 지식을 바탕으로 진행됩니다. class 에 대해서 잘 모르시는 분들은 이전 포스팅을 참고해주세요! Canvas란? 웹 환경에서 그래픽을 표현하기 위한 API로 그림판에 그림을 그리듯이 그래픽을 렌더링하는 것이 특징입니다. 간단한 게임 만들어보기 아래와 같이 HTML 코드를 작성하고 브라우저가 로딩되면 캔버스 노드를 불러오는 코드를 작성해줍니다. /** index.js */ window.onload = () => { const canvas = document.getElementById('canvas'); const ctx = canvas.getContext('2d'); } 캔버스에는 그래픽을 표현할.. 2021. 2. 12.
[C언어] 문자열에 포함된 정수들의 합 문제 영어와 정수를 포함한 문자열을 입력받고, 문자열에 포함된 정수들의 합을 구하시오. (문자열의 길이는 10을 넘지않는다.) 입력 예시 ab23 출력 예시 5 10개 이하의 문자열을 입력받고 그 안에서 숫자를 찾아 전부 더해서 출력하면 된다. ​ 이때, 문자를 숫자로 변환하는 코드가 필요한데, C언어에서는 문자끼리 연산하게되면 그 문자의 아스키코드 값으로 연산이 이루어 진다. 예를 들어 "3"(51) - "1"(49) 는 2이다. "3" 이 "1" 보다 아스키 코드 상으로 2칸 앞에 있기 때문인데 이를 이용해서 우리는 문자를 숫자로 변환할 수 있다. 기존 (문자 N) - (문자 0) 의 연산을 진행하게되면 문자 N과 문자 0의 아스키 코드상의 차이값이 나오게 된다. 예를들어 "5" - "0" = 5 이.. 2021. 1. 4.
[C언어] 마름모 출력하기 문제 정수 N을 입력받는다. 그 후, 가로, 세로가 각각 N의 길이를 가진 마름모를 * 문자를 사용하여 그려서 출력하시오. 제약조건 - N은 자연수이며 홀수로 가정한다. - 각 줄의 두 번째 별(즉, 마지막)이 출력된 후의 공간에는 공백이 출력되지 않는다. 입력 예시 7 출력예시 * * * * * * * * * * * * #include int main(void) { int n, k; scanf("%d", &n); for (int i=0; i0; j--){ printf(" "); } printf("*"); for(k = 0; k=0; i--){ for(int j= (n - i*2) / 2; j>0; j--){ printf(" "); } printf("*"); for(k = 0; k 2021. 1. 4.
[Flutter] IOS에서 도로명 주소 Webview 띄우기 ⚠️ 발생한 문제 pub.dev/packages/kopo kopo | Flutter Package Kopo package can search for Korean postal addresses using the following postal code search services. If necessary, you can use the English address by clicking the View English button. pub.dev 위에 있는 라이브러리를 이용하여 주소 찾기 웹뷰를 띄우려고 시도했지만 웹뷰 안에 내용이 로드가 되지않았다. 🤫 시도한 방법 io.flutter.embedded_views_preview Info.plist 파일에 아래 내용을 직접 추가했지만 빌드를 돌릴때 마다 해당 내용이.. 2021. 1. 4.