이 글은 BOJ 2606-바이러스 문제에 대해 다루겠습니다. BFS, DFS관련 게시글은 요이따 여기에 있습니다. 공부한 것을 정리하는 형식으로 작성되었으므로 오류가 있을 수 있습니다. 오류 발견시 댓글로 꼭 말씀해주세요! 시작해볼까요? 결론부터 말하자면 문제를 풀 때 DFS를 쓰는 것이 더 적합합니다. 왜냐하면 바이러스에 걸린 1번 컴퓨터와 연결된 모든 컴퓨터를 찾아야 하기 때문입니다. DFS는 모든 노드를 traverse할 때, BFS는 path finding을 할 때 잘 쓰이기 때문입니다. 그런데 저는 BFS로 풀었냐구요? 음... 약간 제가 재귀문 트라우마가 있어서 BFS로 먼저 짰다가 시간 초과나면 DFS로 갈아탈 생각이었습니다. 뭐... 코테 볼 때나 면접 볼 때 그럴 여유는 없겠지만 우리는 ..
이 글은 BFS와 DFS에 대해 다루겠습니다. 익숙한 개념일텐데요, BFS는 넓이 우선 탐색으로 breadth first search이고, DFS는 깊이 우선 탐색으로 depth first search 입니다. 전체적인 내용은 Cracking the Coding Interview 서적 기반, Geeks for geeks 홈페이지를 정리했습니다. 공부한 것을 정리하는 형식으로 작성되었으므로 오류가 있을 수 있습니다. 오류 발견시 댓글로 꼭 말씀해주세요! 시작해볼까요? 그래프를 알고리즘 PS를 하기 위해 이 글을 보고 계시다면 그래프에서 가장 중요한 것은 일반 문제를 그래프를 모델링해서 풀어낼 수 있는 능력이라고 할 수 있지 않을까요? 그 전에 개념부터 잡고 갑시다! 그래프와 그래프 표현 그래프도 자료구조 ..
이 글에서는 프로그래머스 - 카펫 문제에 대해 다뤄보겠습니다. 문제 풀이는 C++로 이루어져 있고 함께 들어가 있는 개념들도 간단히 정리 해보는 형식으로 작성되었으므로 오타등의 오류가 있을 수 있습니다. 오류 발견시 댓글로 꼭 말씀해주세요! 시작해볼까요? 간만에 종이에 큼지막하게 무엇인가를 끄적여 본 것 같습니다. 이렇게 끄적이는 문제가 저는 좋은데 말이죠. (근데 뭐가 참 어지럽네요 책상이... 과자 껍질도 있고 건강증명서에 스패츌라까지...ㅎ) 뭐 딱 보고 머릿속에 챡챡 떠오르셨다면 부럽습니다~ 전 숫자를 직접 써보고 직접 결과가 나오는 것을 봐야 속이 편한 사람이라 떠오르더라도 간이 코딱지 만해서 바로 코드 짜러 못가죠. 끄적인건 아래와 같이 끄적였지만 깔끔히 정리해보면 [그림 1] 처럼 되겠네요...
이 글에서는 프로그래머스 - 소수 찾기 문제에 대해 다뤄보겠습니다. 문제 풀이는 C++로 이루어져 있고 함께 들어가 있는 개념들도 간단히 정리 해보는 형식으로 작성되었으므로 오타등의 오류가 있을 수 있습니다. 오류 발견시 댓글로 꼭 말씀해주세요! 시작해볼까요? 문제의 핵심이 무엇인가.... 라고 물어 본다면 '소수 찾기'는 아닌 것 같습니다. 소수 찾기라면 프로그래밍을 배우고 얼마 지나지 않아 바로 과제로 나오는 함수(예를 들면 isPrime을 짠다던지 그렇다던지 그렇쟌습네까?) 중 하나지 않습니까? 소수를 찾지 못해서 문제를 못 푸는 것은 아닌 것 같습니다. 문제의 분류가 greedy algorithm에 있다는 것에 의심을 가득 품고 문제를 열어보면 핵심은 종이 쪼가리의 combination & per..
이 글에서는 프로그래머스 - 모의고사 문제에 대해 다뤄보겠습니다. 문제 풀이는 C++로 이루어져 있고 함께 들어가 있는 개념들도 간단히 정리 해보는 형식으로 작성되었으므로 오타등의 오류가 있을 수 있습니다. 오류 발견시 댓글로 꼭 말씀해주세요! 시작해볼까요? 중학교 때 부터 제 고질병은 문제 똑바로 안 읽기 였습니다. 'Level 1 문제를 이렇게 어렵게 풀 일이야?' 라고 생각할 만큼 계속 답이 나오지 않더라구요. 근데 왜 그랬는지 아십니까....? 문제로 주어지는 파라미터 vector의 이름은 answers 그리고 답으로 return 해야 할 vector의 이름은 answer 이기 때문에 풀다가 변수 잘못 써버리면 그냥 틀리는거죠. 혹시 '이상하다... 왜 안풀리는거야... 맞게 했는데...' 라고 ..
이 글에서는 프로그래머스 - K번째 수 문제에 대해 다뤄보겠습니다. 문제 풀이는 C++로 이루어져 있고 함께 들어가 있는 개념들도 간단히 정리 해보는 형식으로 작성되었으므로 오타등의 오류가 있을 수 있습니다. 오류 발견시 댓글로 꼭 말씀해주세요! 시작해볼까요? ㅎㅎ이런 종류의 쉬어가기 문제 너무 좋습니다~ 양심이 없는 것이겠지요. 문제는 크게 복잡하지 않으니 바로 풀이 해보도록 하겠습니다. 주어지는 int vector에서 특정 부분 자르고 정렬하여 k번째 숫자를 구하면 되는 문제입니다. 풀이 1 commands에는 어디서부터 어디까지 잘라야 하고 정렬 후 몇 번째 숫자를 원하는지의 명령들이 적혀있습니다. 그리고 한 번만 실행하는 것이 아닌 같은 작업을 다른 조건으로 여러번 수행하기를 원하기 때문에 원하는..
이 글에서는 프로그래머스 - 위장 문제에 대해 다뤄보겠습니다. 문제 풀이는 C++로 이루어져 있고 함께 들어가 있는 개념들도 간단히 정리 해보는 형식으로 작성되었으므로 오타등의 오류가 있을 수 있습니다. 오류 발견시 댓글로 꼭 말씀해주세요! 시작해볼까요? 정말 할 말 많은 문제고 할 말 많은 코드입니다. 어떻게 풀면 되겠는지 그림은 읽자마자 그려졌는데 코드를 짜려고 손을 키보드에 올려놓자마자 STL의 사용법으로 코드 창이 아닌 구글 창 부터 열게 되었습니다. 그래도 전 개인적으로 생각하는게 코드를 짤 방법을 알고 검색하는 것과 코드를 짤 줄 몰라 검색하는 것은 천지차이라구요... 이 글을 읽고 계시다면 어떤 특정 키워드 때문에 제 장소로 온 것이라고 생각하겠습니다. 그러나 코드의 방향성을 몰라 찾아 오신..
이 글에서는 프로그래머스 - 전화번호 목록 문제에 대해 다뤄보겠습니다. 문제 풀이는 C++로 이루어져 있고 함께 들어가 있는 개념들도 간단히 정리 해보는 형식으로 작성되었으므로 오타등의 오류가 있을 수 있습니다. 오류 발견시 댓글로 꼭 말씀해주세요! 시작해볼까요? 풀이 1 몇일 전까지 분산 시스템 과제 중 하나였던 udp socket programming에서 remote file access와 관련된 다양한 기능들을 c++로 구현하다보니 string class와 관련된 검색을 한 시간에 못해도 열번은 하지 않았나 싶습니다. 당시에 할 때는 같은 내용을 자꾸 찾고 또 찾고 하다보니 이렇게 기억에 안남을까 답답해 하고는 했는데 그 때 그렇게 찾으면서 했던 노력들이 오늘 이 문제를 풀려고 남아 있었던 것인가 ..
이 글에서는 프로그래머스 - 완주하지 못한 선수 문제에 대해 다뤄보겠습니다. 문제 풀이는 C++로 이루어져 있고 함께 들어가 있는 개념들도 간단히 정리 해보는 형식으로 작성되었으므로 오타등의 오류가 있을 수 있습니다. 오류 발견시 댓글로 꼭 말씀해주세요! 시작해볼까요? Level 1 에 있던 문제라고 쉽게 생각했던 것인지 문제를 열어보고 읽었을 땐 아주 잠깐 물음표가 머릿속을 떠나지 못했습니다. 못풀겠어서가 아니라 문제의 분류가 Hash에 되어있었기 때문이죠. 문제를 간단히 살펴볼까요? 두개의 배열 participant(마라톤에 참여한 선수들의 이름)와 completion(완주한 선수들의 이름)이 주어집니다. 단 한 명의 선수를 제외하고 모든 선수가 마라톤을 완주하였을 때 완주하지 못한 선수의 이름을 r..
이 글은 병행프로세스와 상호배제에 대해 다루겠습니다. 스케줄링이란 주어진 시점에서 어떤 프로세스가 이 자원을 사용할 수 있도록 해 줄 것인가를 결정하는 것을 뜻합니다. 전체적인 내용은 OS? Oh Yes! 서적 기반, 숙명여대 김주균 교수님 강의, 티스토리 등을 정리했습니다. 공부한 것을 정리하는 형식으로 작성되었으므로 오류가 있을 수 있습니다. 오류 발견시 댓글로 꼭 말씀해주세요! 시작해볼까요? Concurrent Processes (병행 프로세스) 병렬처리는 여러 개의 프로세스가 동시에 실행 가능함을 뜻하는 반면 병행이란 메모리에 여러 프로세스가 같이 존재한다는 뜻이므로 병렬과는 다른 개념입니다. 병행성은 처리기의 수와 상관 없으나, 병렬처리가 성공하기 위해서는 기본적으로 병행성이 전제되어야 하는 관..
- Total
- Today
- Yesterday
- 인턴
- 컴공졸작
- 코딩테스트
- 부스트캠프2020
- firebase
- 부스트캠프
- swacademy
- 알고리즘
- OS
- 소프트웨어역량시험
- nosql
- 삼성
- 삼성소프트웨어아카데미
- RxSwift
- 커넥트재단
- 졸업작품
- 컴퓨터공학
- 운영체제
- 소프트웨어아카데미
- 부캠
- 데이터분석
- SWIFT
- 개발자인턴
- TableView
- C++
- ios
- 보안
- 컴과졸작
- 코테
- 프로그래머스
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |