전체 글
-
[코딩 테스트] 코딩 테스트를 준비하기 전에 알아야 할 지식개발/코딩 테스트 2023. 12. 12. 21:13
개발 직군에 취직을 하려면 우리는 꼭 코딩 테스트에서 통과해야 한다. 오늘은 코딩 테스트를 본격적으로 준비하기 전에 알아야 할 점에 대해서 포스팅하려고 한다. 앞으로 코딩 테스트 포스팅은 C++을 기준으로 작성할 것이다. 1. 시간 복잡도 1) 개념 코딩 테스트 문제는 거의 시간 제한이 조건으로 걸려 있다. 문제를 잘못 이해하여 중첩 반복문을 사용하여 문제를 푼다던가, 코딩을 잘못해서 원하는 답이 나왔으나 시간 초과로 오답이 될 수도 있다. 그럼 어떤 알고리즘으로 문제를 풀어야 하는걸까? 문제를 풀기 전에 어떤 알고리즘으로 풀지 정해놓지 않고 시작하면 정해진 시간에 원하는 답을 얻어낼 수 없다. 먼저, 알고리즘에서 시간 복잡도(Time Complexity)는 주어진 문제를 해결하기 위한 연산 횟수를 말한..
-
[컴퓨터 구조] 기억 장치의 분류와 특성개발/CS 2023. 12. 7. 23:32
이번 포스팅에서는 "기억 장치의 분류와 특성"에 대해서 이야기해보고자 한다. 먼저 CPU가 어떤 정보를 기억 장치에 쓰거나 기억 장치로부터 읽는 동작을 액세스(Access)라고 한다. [기억 장치의 액세스 유형] 1) 순차적 액세스(Sequential Access, SAM) - 개념 : 기억 장치에 저장된 정보들을 처음부터 순서대로 액세스함. EX) 옛날 카세트테이프 - 장점 : 연속적인 데이터에 대해 빠르고 효율적임 - 단점 : 데이터를 순차적으로 액세스하기 때문에 정보가 저장된 위치에 따라 액세스 시간이 달라짐. ex) 정보가 가장 마지막에 저장된 경우 2) 직접 액세스(Direct Access, DAM) - 개념 : 읽기 / 쓰기 장치가 각 레코드의 근처로 직접 이동한 후에 순차적 검색을 통하여 최..
-
[컴퓨터 구조] 명령어 파이프라이닝개발/CS 2023. 12. 4. 15:08
이번 포스팅은 컴퓨터 구조에서 다루는 "명령어 파이프라이닝"에 대해서 포스팅하고자 한다. 1. 개념 CPU의 성능은 컴퓨터 시스템의 프로그램 처리 시간에 직접 영향을 준다. 시대가 발전하면서 컴퓨터가 처리해야 하는 것들이 더 많아지고 처리해야 하는 것들이 많아지면 결국 속도가 빨라야 정해진 시간 내에 모두 처리할 수 있기 때문에 CPU의 성능이 중요시되고 있다. 이런 속도를 향상시키기 위해 여러 가지 방법이 있는데, 가장 간단하면서도 효과가 분명한 방법이 바로 "명령어 파이프라이닝" 방법이다. 명령어를 실행하는데 사용되는 하드웨어를 여러 개의 독립적인 단계들로 분할하고, 동시에 서로 다른 명령어들을 처리하도록 함으로써 CPU의 성능을 높여주는 기술이다. 쉽게 말하자면 순차적으로 일을 한개씩 처리하다가, ..
-
[Cocos 2.4.3] Cocos에서 간단한 드래그 기능 구현하기개발/Cocos 2023. 11. 9. 11:28
최근에 Cocos 2.4.3 버전 2D를 많이 사용해서 간단한 기능이나 팁들을 기록해보려 한다. 특히 Cocos는 중국에서 만들어진 도구라, Unity처럼 강의나 사람들이 기록해 놓은 자료가 많지 않아서 처음 접하는 사람들이 나처럼 헤매지 않게 하기 위해서 Cocos 관련 글을 써보려고 한다. 필자의 경우에는 올해 Cocos라는 도구를 처음 접해보았고, 위에서 언급했다시피 자료가 너무너무 없어서 독학하느라 너무 힘들었다. 게다가 언어도 TypeScript라는 처음 보는 언어였고, 평소에 JavaScript를 써보지 않아서 적응하는데 오랜 시간이 걸렸다. 아무튼 이 포스트에서는 Cocos 2.4.3 2D에서 TypeScript 언어를 사용해서 간단히 노드를 드래그하여 위치를 옮기는 기능을 구현해 볼 것이다..
-
[봉사 활동] 다문화 아동 감수성 증진 프로젝트 : 에코 인형 만들기 봉사 후기일상 2023. 9. 5. 23:09
오늘은 재밌고 간단한 봉사 활동 후기를 적어볼까 합니다! 지난 8월에 제가 참여하고 있는 멘토링 활동에서 에코 교구 만들기 봉사 활동을 진행했습니다! 1365 홈페이지에서 봉사명에 "다문화 아동"을 검색하면 찾아볼 수 있는 봉사 활동입니다! 봉사 방법은 다음과 같습니다! 1. 1365 홈페이지를 통해 봉사 활동을 신청한다. 2. 신청서를 작성해 담당자에게 이메일로 신청서를 발송한다. 3. 담당자께서 신청서 확인 + 입금 확인이 되면 택배로 발송해주신다. 4. 받은 재료들로 교구를 제작한다. 5. 만든 교구를 다시 연구소에 발송한다. 이제 이 봉사 활동에 대해서 자세히 설명해보자면 이 봉사 활동은 다문화 아동들에게 전달되는 교구를 바느질을 통해 만드는 활동입니다! 준비물은 실과 바늘, 가위입니다! 저는 다..
-
[TIP] Visual Studio로 코딩할 때 디버깅 방법개발 2023. 8. 1. 22:58
필자는 요즘 백준 문제를 풀면서 Visual Studio를 자주 이용한다. 백준 홈페이지에서 바로 풀게 되면 출력 값이 어떻게 나오는 지 확인이 바로 어렵기 때문이다. 오늘 쓰는 이 글은 Visual Studio으로 코딩할 때 팁을 기록하고자 한다. 코딩을 전공으로 하는 사람들은 아는 팁인데, 코딩 초보나 입문한 지 얼마 안 된 사람들은 모른 경우도 많다. 보통 Visual Studio로 코딩하고 실행할 때 우리는 F5 단축기를 눌러 디버깅을 하게 된다. F5로 디버깅을 하면 모든 단계가 거치고 최종 결과만 콘솔에 출력되게 된다. 1부터 10까지의 합을 구하는 문제가 있다고 하자. #include using namespace std; int main() { ios::sync_with_stdio(false..
-
[C++] 백준 1037번 약수개발/코딩 테스트 2023. 7. 29. 02:39
https://www.acmicpc.net/problem/1037 1037번: 약수 첫째 줄에 N의 진짜 약수의 개수가 주어진다. 이 개수는 50보다 작거나 같은 자연수이다. 둘째 줄에는 N의 진짜 약수가 주어진다. 1,000,000보다 작거나 같고, 2보다 크거나 같은 자연수이고, 중복되 www.acmicpc.net 어떤 수 x의 약수들을 오름차순으로 정렬해서 왼쪽 맨 끝 약수와 오른쪽 맨 끝 약수를 곱해주면 어떤 수 x가 되는 성질을 이용했다. (1과 자기 자신도 성립, 그러나 문제에서는 1과 자기 자신은 제외했음.) 예시 1 : 12 (1과 자기 자신을 제외한) 2 3 4 6 2 X 6 = 12 3 X 4 = 12 그런데 이 문제에서는 약수들을 오름차순으로 제시해주지 않기 때문에 나는 algorit..