전체 글 104

22-02-07 토익 보고 옴

토익 보느라 케굴이와 진행 중인 프로젝트 하나, 케굴이와 계획 중인 프로젝트 하나, 케굴이과 듣기로 약속한 강의 두 개 . . . 를 전부 미뤘었다. 토익은 벼락치기 할 수 있는 시험이 아니지만, 내가 토익 시험 날짜를 바꿀 수 없다는 사실을 시험 나흘 전에 알았차렸기 때문이다. 토익을 나흘동안 준비하는 학생이 있다~~?! 덕분에 나흘동안 토익 준비를 했다. 내게 토익은 처음이다. 난 내가 수능 영어를 매우 잘 했기 때문에 ㄱㅊ을 줄 알았다. 내게 준수한 영어 실력이 준비된 줄 알았다... 쳐맞기 전까진. LC는 말아먹어버렸고, RC는 다 풀고 나서도 15분이 남았다... LC의 다양한 발음에 익숙해지고, 어디서도 잘 들을 수 있게 여러 환경에서 LC 푸는 연습을 해야할 것 같다. 그래도 4번 이상은 시..

생활/일상 2022.02.07

백준 23304 (C++) 아카라카

아이디어 재귀를 연습하기에 좋은 문제였다. 재귀의 base case는 길이가 1일때이다. (길이가 1일때는 팰린드롬이다.) 길이가 2 이상인 경우는, 문자열을 반으로 나눈다. 길이가 짝수인 경우, 반으로 그대로 나누고, 홀수인 경우는 가운데 문자를 기준으로 반으로 나눈다. 이때 반으로 나눈 문자열 다르다면 바로 "아카라카"의 조건에서 탈락이다. 반으로 나눈 그 문자열을 다시 재귀함수의 인자로 넣음으로서 해당 문자열 또한 "아카라카"인지 검사한다. 반으로 나눈 기준 앞 뒤의 문자열이 모두 아카라카라면 합친 문자열 또한 아카라카이다. https://www.acmicpc.net/problem/23304 23304번: 아카라카 주어진 문자열 $S$가 아카라카 팰린드롬이라면, AKARAKA를 출력한다. 만약 그렇..

PS/BOJ 2022.01.30

백준 7568 (C++) 덩치

n의 입력이 작기 때문에 브루트포스(완전 탐색)으로 풀어도 무리가 없다. 자신보다 키, 몸무게 둘 다 큰 경우 cnt++한다. https://www.acmicpc.net/problem/7568 7568번: 덩치 우리는 사람의 덩치를 키와 몸무게, 이 두 개의 값으로 표현하여 그 등수를 매겨보려고 한다. 어떤 사람의 몸무게가 x kg이고 키가 y cm라면 이 사람의 덩치는 (x, y)로 표시된다. 두 사람 A 와 B의 덩 www.acmicpc.net #include #include #include using namespace std; vector v; int main(void){ ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); int n,x, ans = 0..

PS/BOJ 2022.01.30

[Node.js] node-sqlite DB에서 여러 row를 반환하는 쿼리

상황 images라는 table에 올라간 사진 여러장을 웹 페이지에 띄우기 위해 db.get("SELECT imageSrc FROM images WHERE owner=?", 라는 쿼리를 사용했으나, 사진 한장만 반환되었다. db.get("SELECT imageSrc, count(*) FROM images WHERE owner=?", 이때 이렇게 count(*)를 이용하면 1이상의 수가 제대로 들어오는 것을 알 수 있다. 해결 라우팅하는 js파일에 db.all("SELECT imageSrc FROM images WHERE owner=?", all method를 사용하고, render되는 html에 { %> 을 하면 이렇게 여러 행이 console에 찍히는 것을 볼 수 있다. 그러나 all method는 데..

Node.js 2022.01.28

백준 1932 (C++) 정수 삼각형

아이디어 처음엔 삼각형의 위에서부터 1층, ..., k층, ..., n층으로 생각하고 k층까지의 최적의 경로가 n층까지의 최적의 경로에 포함될 것이라 생각할 수도 있다. 그러나 예시로 주어진 테스트케이스가 그 반례이다. 따라서 최적의 경로는, 2차원배열의 각 인덱스에 해당하는 dp[i][j]에 저장되어있다. 그러므로 dp[i][j]에 도달하는 optimal한 경로와 dp[i][j+1]에 도달하는 경로가 다를 것이다. dp[i][j] = max(dp[i-1][j], dp[i-1][j-1]) + arr[i][j]; 를 사용하여 해결하면 된다. 다시 말하자면, k층까지 탐색했을 때 합이 최대가 되는 것이 최적의 경로가 아니라, k층의 l열을 오는 데에 합이 최대가 되는 경로가 최적의 경로(dp의 점화식)을 구..

PS/BOJ 2022.01.25

Refused to apply style from 'http://localhost:3000/...' because its MIME type ('text/html') is not a supported stylesheet MIME type, and strict MIME checking is enabled.

상황 cdn을 사용하지 않고 bootstrap.css 파일을 로컬에 포함해서 내가 구현하고자 하는 웹페이지의 디테일을 조작하기 위해 bootstrap.css를 작업 중인 디렉토리에 포함하고 경로를 지정했는데도 계속 css 파일을 찾지 못하고 와 같이 css가 적용되지 않은 html의 틀만 뱉어냈다. 까닭 결국 경로를 제대로 설정하지 않아서인데, 경로를 제대로 로컬에 포함하고 맞는 상대 경로를 지정해줬어도 // user에게 public folder를 사용가능하게 제공 /public 이동시 public폴더를 볼 수있음 //express.static : express의 정적 파일 제공 app.use("/public", express.static(__dirname + "/public")); server.js에서..

백준 8892 (C++) 팰린드롬

완전탐색으로 해결했다. https://www.acmicpc.net/problem/8892 8892번: 팰린드롬 팰린드롬은 어느 방향으로 읽어도 항상 같은 방법으로 읽을 수 있는 단어이다. 예를 들어, civic, radar, rotor, madam은 팰린드롬이다. 상근이는 단어 k개 적혀있는 공책을 발견했다. 공책의 단어는 ICPC www.acmicpc.net #include #include #include #include #include using namespace std; const int MAX = 1001; int t; vector v; int palindrome() { for (int i = 0; i < v.size() - 1; i++) { for (int j = i + 1; j < v.size..

PS/BOJ 2022.01.19

백준 11091 (c++) 알파벳 전부 쓰기

https://www.acmicpc.net/problem/11091 11091번: 알파벳 전부 쓰기 팬그램은 26개의 알파벳, a~z를 최소 한번씩 모두 사용한 문장을 말한다. 아마 가장 유명한 문장은 이것일 것이다. "The quick brown fox jumps over the lazy dog." 꿍은 다른 문장들중에 팬그램인 것은 없는지 www.acmicpc.net 문제의 태그(분류)는 구현+문자열이다. 이런 문제가 처음 써보는 언어를 맛보기도 좋고 구현 능력에도 도움이 되겠지만 풀 때의 컨디션에 따라 즐겁기도, 지루하기도 한 것 같다. getline으로 s를 입력받고, 해당 문자가 존재함을 alphabet이라는 bool형 배열에 체크했다. 이후 alphabet이 false, 즉 해당 인덱스의 알파..

PS/BOJ 2022.01.18

백준 1431 (C++) 시리얼 번호

https://www.acmicpc.net/problem/1431 1431번: 시리얼 번호 첫째 줄에 기타의 개수 N이 주어진다. N은 50보다 작거나 같다. 둘째 줄부터 N개의 줄에 시리얼 번호가 하나씩 주어진다. 시리얼 번호의 길이는 최대 50이고, 알파벳 대문자 또는 숫자로만 이루어 www.acmicpc.net 1. A와 B의 길이가 다르면, 짧은 것이 먼저 온다. 2. 만약 서로 길이가 같다면, A의 모든 자리수의 합과 B의 모든 자리수의 합을 비교해서 작은 합을 가지는 것이 먼저온다. (숫자인 것만 더한다) 3. 만약 1,2번 둘 조건으로도 비교할 수 없으면, 사전순으로 비교한다. 숫자가 알파벳보다 사전순으로 작다. 위의 주어진 조건에 맞게 sort에 사용될 compare함수(이하 cmp)를 작..

PS/BOJ 2022.01.13

[삼성 SW 역량 기출] 백준 14499 (C++) 주사위 굴리기

아이디어 명령어 입력 전후를 구분하여 주사위에 새겨질 값을 바꿔야하기 때문에 dice[]배열과 new_dice[]배열 두개를 선언한다. 입력된 명령어가 1,2,3,4인 경우 각각 dice[] 및 지도 arr[x][y] 배열을 조건에 맞게 기록한다. 문제에 힌트가 주어졌다. 위 숫자들을 dice[] 및 new_dice[]의 index라고 생각하자. new_dice[]라는 지역 변수에 직전의 주사위 값인 dice[]의 값을 기록한다. 그리고 x또는 y의 값을 증감하여 다음에 탐색할 지도의 위치를 찾는다. 이때, 만약 바깥으로 이동시키려고 하는 경우에는 해당 명령을 무시해야 하며, 출력도 하면 안 된다. 라고 했으므로 매 명령어마다 실행하려는 x 또는 y의 증감이 지도의 범위를 벗어나는지 체크해야한다. new..