전체 목록! 299

[BOJ] 1260번: DFS와 BFS

문제 풀러 가기 링크! 1260번: DFS와 BFSDFS와 BFS를 실제로 구현해 볼 수 있는 아주 좋은 문제이다.DFS는 깊이 우선 탐색이여서 최대한 한 정점에서 최대한 깊게 갔다가 다시 돌아오는 작업을 반복해서 모든 정점을 탐색하는 것이고BFS는 너비 우선 탐색이여서 층 별로 있는 모든 정점을 다 돌면서 내려간다고 보면 된다.아직 내가 직접 쓴 글이 없어서 개인적으로 정말 좋다고 생각하는 블로그의 글의 링크를 걸어 놓을테니 이 쪽에 가서 자세히 공부하면 된다.DFS 설명, BFS 설명 개인적으로 DFS는 재귀함수를 이용하는 것을 좋아해서 원래는 스택을 쓰지만 나는 재귀함수로 구현했고 BFS는 스택을 이용해서 구현했다. BFS는 분리하지 않고 main함수에 적어서 가독성이 떨어질텐데... 그 점은 양해..

온라인저지 2017.11.04

AWS(Amazon Web Service)에 대한 나의 생각

사건의 시작10/26/2017, 방과후에 학교에서 AWS에 대해서 1시간 30분동안 교육을 받고 간단한 실습을 해볼 기회가 있었다.아마존 AWS 동아시아 태평양 담당 이사님께서 설명을 해주셨다.아마존은 크게 AWS, 유저의 판매를 도와주는 서비스(?) - 이름이 기억 안 난다, 그리고 우리가 흔히 아는 아마존닷컴해서총 3가지정도로 구성되어 있다고 하셨다.그 중 AWS에 대해서 설명을 해주셨다. 윈도우를 예를 들어서 윈도우즈 서버 하나를 구축하려면 적어도 3개월이 걸린다고 한다.(회사는 절차가 복잡하다 보니 이런 문제가 생긴다) 그런데 AWS는 단 3~5분 정도면 된다고 한다.*실제로 내가 실습을 해보면서 윈도우즈 서버 2012 Base를 만들어 봤는데 정말 간단했다. 중간에 대답을 해서 AWS educa..

개인 2017.10.27

[BOJ] 10942번: 팰린드롬?

https://www.acmicpc.net/problem/10942 오랜만입니다... 오늘은 팰린드롬에 대한 문제를 풀어 보려고 합니다.팰린드롬이란, 위키백과 : 숫자, 단어, 구 같은 시퀀스들이 앞과 뒤가 같아서 반으로 접으면 일치하게 되는 녀석들을 칭합니다. 이 문제는 DP로 푼다고 하는데, 저는 사실 DP를 잘 못하기도 하고 굳이 DP로 풀 필요가 없는 것 같았습니다.12345678910111213141516171819202122232425262728293031#include int palin(int start, int finish, int *arr) { int mid = (start + finish) / 2; for(int i = start, j = finish; i = mid; i++, j--)..

온라인저지 2017.10.21

tkinter를 이용한 모던 디자인(장난질!)

[파이썬] Tkinter를 이용한 장난 [코드] 123456789101112131415161718192021222324from tkinter import *import randomtk = Tk()canvas = Canvas(tk, width = 400, height = 400)canvas.pack() def random_rectangle(width, height, fill_color): x1 = random.randrange(width) y1 = random.randrange(height) x2 = x1 + random.randrange(width) y2 = y1 + random.randrange(height) canvas.create_rectangle(x1, y1, x2, y2, fill = fill_..

카테고리 없음 2017.10.09

[알고리즘] 링크드 리스트에 대해 알고가야 할 것.. 의견 나눠주세요

이 글은 '뇌를 자극하는 알고리즘 - 박상현 저', 이것만은 알고 갑시다에서 나온 내용입니다. (문제가 된다면 바로 내리겠습니다.) 1. 링크드 리스트와 배열의 성능을 다음 세 가지 연산에 관해 비교하여 설명하세요. 삽입 삭제탐색- 링크드 리스트가 삽입/삭제 연산에서 보자면 배열보다 더 빠르다는 것에서는 장점이지만 역으로 특정 위치에 있는 노드를 찾는 것은 배열에 비해 느리다고 할 수 있다... 2. 환형 링크드 리스트의 장점은 헤더 노드를 이용하여 테일 노드의 위치를 바로 파악할 수 있다는 것입니다. 그럼 링크드 리스트나 더블 링크드 리스트에서 환형 링크드 리스트에서처럼 바로 테일 노드의 위치를 알아내게 할 수는 없을까요? 그 방법을 생각해보고 설명하세요. - (아직 생각이 안 떠오르니... 좋은 생각..

카테고리 없음 2017.09.30

내 블로그에서 음악을 들을 수 있다니!!!

심심해서 블로그를 꾸미고자 SCM 플레이어를 달아봤다. 이 플레이어는 학교에서 애들이 실습 서버를 터뜨리는 과정에서 알 게 되었는데 상당히 꿀인 플레이어다. 나도 꼭 만들어 봐야지~현재 내 블로그에 있는 음악들은 Coldplay, Ed sheeran, 아이유의 노래이다. 이거 일일이 다 하려니깐 너무 고생이라서 아직은 많이 추가 못 했는데 RSS를 만들어주는 크롤링 프로그램을 만들어서 확장 시킬 예정이다!역시 프로그래밍은 짱이라니깐~~~ 물론 그 작업은 시험 끝나고 할 것이다. 히힛

카테고리 없음 2017.09.24

재미있는 만화책 :: 미생(윤태호 작가)

스티커는 학교 도서관 바코드라서 가리기 용으로 사용했다. 요즘 하도 컴퓨터 책만 읽어서 현실적으로 재미있는 책을 찾다가 만화책을 다시 찾았다. 역시... 만화책은 재미있다. 학교 선생님이 "재미있어? 직장인들이 봐야 재미있지 않음??" 이러셨는데오히려 정말 사회 생활이 내가 공부하면서 힘들다고 하는 거에는 비할 바가 아니라는 걸 깨달았다.왠지 모를 공감도 되고 재미있다. 나중에 드라마로도 봐야겠다.

개인 2017.09.24

[BOJ]14726번: 신용카드 판별

14726: 신용카드 판별 숫자로 해도 되고 문자열로 해도 되는데 나는 문자열로 구성했다. 구현~ 12345678910111213141516171819202122232425262728293031323334353637383940#include int N;char num[10001][1001]; bool f(char a[]){ int sum = 0; for (int i = 15; i >= 0; i--) { if ((i + 1) % 2 != 0) { if ((a[i] - '0') * 2 >= 10) { a[i] = ((((a[i] - '0') * 2) / 10) + ((a[i] - '0') * 2) % 10) + '0'; } else a[i] = (a[i] - '0') * 2 + '0'; } } for (in..

온라인저지 2017.09.24

[BOJ]2605번: 줄 세우기

2605: 줄 세우기 풀이이 문제는 여러가지 방법으로 풀 수 있다는 생각을 했다.스택으로도 풀 수 있고, swap으로도 풀 수 있다는 생각을 했지만 나는 swap으로 했다. 별로 추천하고 싶은 방법은 아니지만 도저히 이 방법 밖에는 생각이 나지 않았기 때문에 이 방식으로 문제를 해결했다. 1) 우선 나는 1부터 n까지의 숫자를 배열에 다 채웠다.2) 반복문을 i = 0 ~ i < n 만큼 도는데, 변수 idx의 값은 i에 따라 바뀐다.(순서대로 돌기 때문에)3) 뽑은 번호를 x라고 할 때 x == 0이면 아무런 행동도 취하지 않으므로 continue를 해주고 나머지 경우에는 x번 만큼 반복문을 돌면서 swap을 해주면 된다. 4) 마지막 출력!!! 아직도 잘 모르겠다고요? 네 충분히 이해합니다. 저도 다..

온라인저지 2017.09.03