분류 전체보기 104

백준 12851 (C++) 숨바꼭질

12851번: 숨바꼭질 2 해결 BFS 로 해결했다. 숨바꼭질 1 과 다른 점은, queue에 넣기전 방문체크하지 않는다는 것이다. 물론 숨바꼭질 1도 queue에 넣은 후 pop하고 나서 방문체크해도 옳은 답이 나온다. 어차피 현재 위치가 동생 위치 k일 때, bfs탐색을 거쳤으므로 제일 처음 종료조건 k에 도달한 상태가 최적의 답(최소시간)이기 때문이고, 바로 return하기 때문에 방문체크 순서는 상관없기 때문에 그런 것이다. 단지 queue에 넣기 전 방문체크 하는 것이 불필요하게 q에 넣는 것을 줄일 수 있기 때문에 그렇게 하는 것이다. 그러나 숨바꼭질 2에서는 queue에 넣기 전 방문체크를 하면, 동일한 위치에는 다시 방문하지 않게 되므로 1→ 1 +1 → 2 2 1 → 12 → 2*2 인 ..

PS/BOJ 2023.01.30

싸피 SSAFY 9기 전공자반 서울 합격 후기

싸피란? 삼성이 주관하고 고용노동부에서 후원하는 부트캠프이다. 취준생에겐 너무나도 소중한 매달 100만원의 지원금이 나온다!!!!!!!!! 아 물론 정말 좋은 교육과정과 싸피 수료생에게 따로 주어지는 회사 별 입사 TO, 취준 컨설팅 프로그램 등등 많은 혜택이 존재한다. https://www.ssafy.com/ksp/jsp/swp/swpMain.jsp 삼성 청년 SW 아카데미 삼성 청년 SW 아카데미| 소프트웨어 교육, 취업 지원, 코딩 교육 www.ssafy.com 전공자 반과 비전공자 반으로 나뉘며, 서울 외에 광주 구미 대전 등 캠퍼스가 존재한다. 서울 캠퍼스 경쟁률이 가장 치열하다고는 들었으나, 지방에 연고가 없는 관계로 1지망 서울, 2지망 대전으로 지원했다. 비전공자반 8기 합격자인 ㅇㅇ이가 ..

생활/리뷰 2022.12.22

SPARC 어셈블리 언어- 화씨온도를 섭씨온도로 바꾸기

.section ".data" a: .double 0r5.0 b: .double 0r9.0 c: .double 0r32.0 .section ".text" fmtp1: .asciz "화씨온도를 입력하시오: " fmts: .asciz "%lf" fmtp2: .asciz "섭씨온도는 %f입니다.\n" .align 4 .global main, printf, scanf main: save %sp, -(92+8)&-8, %sp set fmtp1, %o0 call printf nop set fmts, %o0 add %fp, -8, %o1 call scanf nop ld [%fp-8], %o0 ld [%fp-4], %o1 call ftoc nop st %f0, [%fp-16] st %f1, [%fp-12] set fm..

학교 과제 2022.12.02

SPARC 어셈블리 언어- 최대공약수

fmt1: .asciz "두 정수를 입력하세요: " fmts: .asciz "%d" fmtp: .asciz "최대공약수는 %d입니다.\n" .align 4 .global main main: save %sp, -96, %sp set fmt1, %o0 call printf nop set fmts, %o0 call scanf add %fp, -4, %o1 nop ld [%fp-4],%l0 ! %l0가 입력받은 첫 수 = a nop set fmts, %o0 call scanf add %fp, -8, %o1 nop ld [%fp-8],%l1 ! %l0가 입력받은 두번째 수 = b nop mov 1, %l2 ! int flag = 1 loop: subcc %l0, %l1, %g0 ! l0 - l1 = l3 = a ..

학교 과제 2022.12.02

SPARC 어셈블리 언어- 윤년과 평년

fmt1: .asciz "년도를 입력하세요(종료:음수) " fmts: .asciz "%d" fmt2: .asciz "%d 윤년입니다.\n" fmt3: .asciz "%d 평년입니다.\n" .align 4 .global main main: save %sp, -96, %sp loop: set fmt1, %o0 call printf nop set fmts, %o0 call scanf add %fp, -4, %o1 nop ld [%fp-4], %l0 ! %l0가 입력받은 해 ba test nop test: cmp %l0, 0 bl Exit ! 음수일 경우 종료 mov %l0, %o0 ! 400으로 나누어지는 경우 윤년 mov 400, %o1 call .rem nop mov %o0, %l1 cmp %l1, 0 b..

학교 과제 2022.12.02

koyeb으로 서버 배포하기

안녕 헤로쿠! 헤로쿠가 프리 티어를 종료했다. 도커 이미지 없이 바로 깃헙 레포지토리에서 매끄럽게 배포가 가능한 서비스를 찾고있었다. 또 헤로쿠만큼이나 과정이 간단하길 바랐다. koyeb은 procfile 기반이라 헤로쿠를 쓰던 나로써는 더할 나위 없는 선택이었다. 그런고로 koyeb으로 옮기게 되었다. koyeb과 heroku를 비교한 글은 아래에! https://www.koyeb.com/docs/compare/heroku-vs-koyeb Heroku vs Koyeb Looking for an alternative to Heroku? Get our (not so) vendor-neutral version of the showdown here! www.koyeb.com 과정 https://devbull...

Node.js 2022.10.04

일본어의 청음을 한글의 예사소리로 표기하는 이유?

小泉純一郎는 '고이즈미 준이치로'라 쓴다. 반대로 '고양시'는 コヤン市 라고 쓰고, (コ는 [ko]발음이다.) 게다가 '中村'에 대해서 '나카무라', 혹자는 '나까무라'라고 다르게 쓰는 경우도 있다. 들어가며- 탁음과 청음의 표기법에 관해 다시 일본어를 배우고 있다. 외국어를 배우는 것은 알지 못했던 프로그래밍 언어를 새로 배우는 것보다도 배로 힘들지만, 내가 완성한 문장이 자연스럽다면, (통사론에서 말하는 철학적 의미의 자연스러움 같은 게 아니다) 어찌되었건 의미가 통하여 기쁘다. 그런 점에서는 프로그래밍과 비슷하다. 탁음과 청음의 구분을 명확히하여 한자를 외우고 있는데, 아무래도 아래와 같은 식의 표기가 거슬린다. '아지노모토' 라는 기업에 대해 찾다가, 근대 조선에서는 '아지노모도'라고 신문 광고에..

생활/일상 2022.10.03

백준 3184 (python) 양

매 칸에 대해서 방문 검사를 하며, 해당 칸이 울타리 안쪽이라면 bfs로 울타리 내부의 늑대와 양의 개수를 세고, return 값으로 늑대와 양을 반환했다. 어떤 칸에 대해 방문하지 않았다고 하면 무조건 bfs로 탐색하였다. from collections import deque import queue from re import T def bfs(a, b): queue = deque([(a, b)]) wolf = 0 sheep = 0 while queue: x, y = queue.popleft() if arr[x][y] == "v": wolf += 1 elif arr[x][y] == "o": sheep += 1 for i in range(4): nx = x + dx[i] ny = y + dy[i] if n..

PS/BOJ 2022.09.01

백준 1389 (python) 케빈 베이컨의 6단계 법칙

BFS bfs로 풀었음 플로이드 와샬 풀이가 바로 떠올라서 최대한 bfs로 풀려고 노력했다. 즉 어느 하나의 노드를 기준으로 탐색하게 되면, 해당 노드로부터 다른 노드까지의 depth를 bfs로 탐색해가며 구할 수 있다. 시작이되는 어떤 노드를 queue(이하 q로 부름) 에 삽입한다. q를 pop해 그 노드와 인접한 (adj, copy 배열이 1), 방문하지 않은 노드를 그 다음으로 선정한다. 이때 depth를 1씩 증가한다. 이는 시작노드로부터의 depth가 현재 pop한 x(현재 노드)까지의 depth보다 1이 증가함을 의미한다. 다른 말로, 0-1-2 순으로 노드가 있으면, 0-2까지의 depth는 0-1까지의 depth + 1이다. 그렇게 해서 q가 비었다면, 즉 모든 노드를 탐색했다면 저장된 ..

PS/BOJ 2022.08.29