분류 전체보기
![백준 9663번 N-Queen // C++](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FtZ1aQ%2FbtqDEFRxis2%2F95sXSRoNlq7Szf3ZU364LK%2Fimg.png)
백준 9663번 N-Queen // C++
문제 N-Queen 문제는 크기가 N × N인 체스판 위에 퀸 N개를 서로 공격할 수 없게 놓는 문제이다. N이 주어졌을 때, 퀸을 놓는 방법의 수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 N이 주어진다. (1 ≤ N < 15) 출력 첫째 줄에 퀸 N개를 서로 공격할 수 없게 놓는 경우의 수를 출력한다. 풀이 N-Queen 문제는 대표적인 Back Tracking 문제이다. 체스에서 Queen은 가로, 세로, 대각선 중 원하는 방향으로 쭉 움직일 수 있다. 초록색과 같은 위치에 Queen이 놓이게 되면, 파란색으로 칠해진 가로 세로 대각선 방향에는 다른 Queen을 놓을 수 없게 된다. 이 때, Queen을 n개만큼 놓을 수 있는 경우의 수를 모두 출력하면 된다. dfs와 비슷한 느낌으로 풀면 되..
![백준 10867번 중복 빼고 정렬하기 // C++](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbcxikL%2FbtqDCYK1x21%2FaSsqCBlum2IPQGBSk89vL0%2Fimg.png)
백준 10867번 중복 빼고 정렬하기 // C++
문제 N개의 정수가 주어진다. 이때, N개의 정수를 오름차순으로 정렬하는 프로그램을 작성하시오. 같은 정수는 한 번만 출력한다. 입력 첫째 줄에 수의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째에는 숫자가 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. 출력 첫째 줄에 수를 오름차순으로 정렬한 결과를 출력한다. 이때, 같은 수는 한 번만 출력한다. 풀이 입력되는 수가 최대 10만개이고, 수의 범위가 -1000 ~ 1000까지로 매우 작기 때문에 sort를 사용하는 것보다 어떠한 수를 입력받았는지 확인해서 출력하는 것이 더 빠르다. 오름차순으로 정렬한 결과를 출력해야 하기 때문에 음수와 양수를 각각 boolean 배열을 이용하여 입력받았는지를 확인하여 출력하였다. 코드 더보..
![백준 1406번 에디터 // C++](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fm3ZAF%2FbtqDADOBZ59%2FzESSQqgSriEJkYWI4A4cv1%2Fimg.jpg)
백준 1406번 에디터 // C++
문제 한 줄로 된 간단한 에디터를 구현하려고 한다. 이 편집기는 영어 소문자만을 기록할 수 있는 편집기로, 최대 600,000글자까지 입력할 수 있다. 이 편집기에는 '커서'라는 것이 있는데, 커서는 문장의 맨 앞(첫 번째 문자의 왼쪽), 문장의 맨 뒤(마지막 문자의 오른쪽), 또는 문장 중간 임의의 곳(모든 연속된 두 문자 사이)에 위치할 수 있다. 즉 길이가 L인 문자열이 현재 편집기에 입력되어 있으면, 커서가 위치할 수 있는 곳은 L+1가지 경우가 있다. 이 편집기가 지원하는 명령어는 다음과 같다. L 커서를 왼쪽으로 한 칸 옮김 (커서가 문장의 맨 앞이면 무시됨) D 커서를 오른쪽으로 한 칸 옮김 (커서가 문장의 맨 뒤이면 무시됨) B 커서 왼쪽에 있는 문자를 삭제함 (커서가 문장의 맨 앞이면 무..
![Node.js 설치(NVM)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FZ0vvE%2FbtqDiar4sl4%2FMscWtlIjbmCgTD2iVFM2sk%2Fimg.png)
Node.js 설치(NVM)
Node.js는 구글에서 공개한 소프트웨어로, V8 엔진을 이용한 자바스크립트 런타임 도구이다. NVM(Node-version manager)을 이용하여 Node.js를 설치해보자. 1. NVM 설치 https://github.com/coreybutler/nvm-windows/releases 위의 주소에 접속하여 nvm-setup.zip을 다운로드 받은 뒤, 실행 파일을 실행하면 된다. NVM이 성공적으로 설치되었는지를 확인하기 위해, cmd를 실행시켜 다음 명령어를 입력해보자. $ nvm -v 성공적으로 설치가 되었다면 위와 같은 문구를 확인 할 수 있다. 2. Node.js 설치 $ nvm install x.x.x(version) 설치하고자 하는 버전을 입력하여 설치를 하면 된다! 3. Node.js..
![React란?](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbKGQC3%2FbtqDjHbxsPH%2F6DREnNaFlKVmZMATsvLkxk%2Fimg.png)
React란?
1. Web Framework "동적인 웹 페이지나, 웹 애플리케이션, 웹 서비스 개발 보조용으로 만들어지는 애플리케이션 프레임워크의 일종이다. 웹 페이지를 개발하는 과정에서 겪는 어려움을 줄이는 것이 주 목적으로 통상 데이터베이스 연동, 템플릿 형태의 표준, 세션 관리, 코드 재사용 등의 기능을 포함하고 있다." - Wikipedia 다시 말해 재사용을 위해 여러 함수의 모음인 라이브러리에 개발을 위한 틀인 뼈대가 추가된 것이라고 볼 수 있다. 2. React 리액트의 특징은 다음과 같다. - 컴포넌트(component)라는 작은 코드 블록들로 화면이 구성되어 있어 유지보수가 용이 - 가상(virtual) DOM을 사용한 빠른 화면 출력 (https://bit.ly/2Rr0Wz7) - 리액트 네이티브를..
![백준 16397번 탈출 // C++](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbilAYV%2FbtqCLNEkQZe%2FIEHAQXKsvKaTIzqj5mJYtK%2Fimg.png)
백준 16397번 탈출 // C++
문제 홍익이는 홍익대학교 프로그래밍 경진대회의 출제진이다. 홍익이는 새벽에 문제를 만들던 도중 뒤통수에 느껴지는 고통과 함께 정신을 잃었다. 홍익이는 좁은 방에서 눈을 떴다. 주변을 살펴보니 벽면에는 LED로 된 다섯 자리 십진수 N이, 그 옆에 T, G라는 알파벳과 함께 또 다른 정수 두 개가 쓰여 있었고, 벽 앞에는 버튼 A, B 두 개가 있었다. 버튼을 이리저리 눌러보던 똑똑한 홍익이는 어떻게 해야 방을 탈출할 수 있을지 금방 눈치챘다. 버튼과 수에 대해 홍익이가 알아낸 것은 다음과 같다. 버튼 A를 누르면 N이 1 증가한다. 버튼 B를 누르면 N에 2가 곱해진 뒤, 0이 아닌 가장 높은 자릿수의 숫자가 1 줄어든다. 예를 들어 123→146으로, 5→0으로, 3→5로 변한다. 단, N이 0이면 버..
![백준 5427번 불 // C++](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fp11MU%2FbtqCOzSqokr%2F2pK5RcLISspkYKq1GMs891%2Fimg.jpg)
백준 5427번 불 // C++
문제 상근이는 빈 공간과 벽으로 이루어진 건물에 갇혀있다. 건물의 일부에는 불이 났고, 상근이는 출구를 향해 뛰고 있다. 매 초마다, 불은 동서남북 방향으로 인접한 빈 공간으로 퍼져나간다. 벽에는 불이 붙지 않는다. 상근이는 동서남북 인접한 칸으로 이동할 수 있으며, 1초가 걸린다. 상근이는 벽을 통과할 수 없고, 불이 옮겨진 칸 또는 이제 불이 붙으려는 칸으로 이동할 수 없다. 상근이가 있는 칸에 불이 옮겨옴과 동시에 다른 칸으로 이동할 수 있다. 빌딩의 지도가 주어졌을 때, 얼마나 빨리 빌딩을 탈출할 수 있는지 구하는 프로그램을 작성하시오. 입력 첫째 줄에 테스트 케이스의 개수가 주어진다. 테스트 케이스는 최대 100개이다. 각 테스트 케이스의 첫째 줄에는 빌딩 지도의 너비와 높이 w와 h가 주어진다..
![백준 6593번 상범 빌딩 // C++](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbFRl7N%2FbtqCPBvrzGA%2FuABaFlXGbQuoql6CcstRkK%2Fimg.jpg)
백준 6593번 상범 빌딩 // C++
문제 당신은 상범 빌딩에 갇히고 말았다. 여기서 탈출하는 가장 빠른 길은 무엇일까? 상범 빌딩은 각 변의 길이가 1인 정육면체(단위 정육면체)로 이루어져있다. 각 정육면체는 금으로 이루어져 있어 지나갈 수 없거나, 비어있어서 지나갈 수 있게 되어있다. 당신은 각 칸에서 인접한 6개의 칸(동,서,남,북,상,하)으로 1분의 시간을 들여 이동할 수 있다. 즉, 대각선으로 이동하는 것은 불가능하다. 그리고 상범 빌딩의 바깥면도 모두 금으로 막혀있어 출구를 통해서만 탈출할 수 있다. 당신은 상범 빌딩을 탈출할 수 있을까? 만약 그렇다면 얼마나 걸릴까? 입력 입력은 여러 개의 테스트 케이스로 이루어지며, 각 테스트 케이스는 세 개의 정수 L, R, C로 시작한다. L(1 ≤ L ≤ 30)은 상범 빌딩의 층 수이다...