전체 글

전체 글

    백준 1940 주몽 (C++)

    * 해당 문제 풀이는 '큰돌'님의 문제풀이에서 제가 이해한 부분을 재작성한것입니다 백준 1940 주몽 입니다 문제 해석 주몽 문제풀이 입니다 이 문제 같은경우는 우선 시간제한이 2초라서 조금 여유가 있습니다, 문제를 해석해보면 값옷을 만드는 재료들은 각각의 고유 번호를 가지고 있고, 두 재료의 고유 번호를 합해서 M이 되면 갑옷이 만들어 직 ㅔ됩니다 이때 N개의 재료와 M이 주어졌을때 값옷이 몇개가 만들어지는지를 구하면됩니다 예제를 보게되면 우선 재료의 개수 N은 6이 들어왔고, 갑옷을 만드는데 필요한수(고유한번호를 합친수) M은 9가 들어왔습니다 그리고 그다음줄에 N개의 재료들인 2 7 4 1 5 3 이 들어와있습니다 문제에서 두 재료의 고유번호를 합하라고 했으니 주어진 2 7 4 1 5 3 을 2개씩..

    백준 1213 팰린드롬 만들기(C++)

    * 해당 문제 풀이는 '큰돌'님의 문제풀이에서 제가 이해한 부분을 재작성한것입니다 백준 1213 팰린드롬 만들기 입니다 문제 해석 이문제 같은경우는 AABB 가 입력이 되었을때 ABBA 로 팰린드롬 문자를 만들고 만약 ABCD같이 팰린드롬이 만들어 지지 않는다면 I'm Sorry Hansoo 를 출력하면 되는 문제입니다 우선 이문제를 풀기위해서는 입력된 문자열에서 각 알파벳(A,B 등등)이 몇개가 쓰였는지 체크를 해봐야됩니다 즉 아래와 같이 카운팅 배열을 이용해야합니다 AABB -> A 2개, B 2개 그리고 핵심은 사전순으로 앞서는것부터 출력을 해야되니 알파벳 Z 부터 출력이 됩니다 그러면 AABB가 들어왔을때 A는2개이고,B도 2개이니깐 먼저 B부터 배열을 합니다 -> BB 그리고 다음 A2개가 남아..

    백준 9375 패션왕 신해빈(C++)

    * 해당 문제 풀이는 '큰돌'님의 문제풀이에서 제가 이해한 부분을 재작성한것입니다 백준 9375 패션왕 신해빈 입니다 문제 해석 패션왕 신해빈 문제해석 입니다 우선 이문제같은경우는 경우의수를 찾는 문제입니다 즉 각 의상 종류에따른 어떤 의상을 조합해서 입을수있는지에 대한 경우의수를 파악하는 문제입니다 첫번째 예제같은경우는 다음과 같이 입력이 들어와있습니다 [hat,headger],[sunglassess,eyewear],[turban,headgear] 이렇게 입력이 들어와있을때 같은 종류의 의상은 하나만 입을수있다는 조건과, 아예 안입는 조건은 없다고 했으니 아래와 같이 5가지의 경우의 수가 만들어지게됩니다 (hat),(turban),(sunglassess),(hat,sunglasses),(turban,s..

    백준 1620 나는야 포멧몬 마스터 이다솜(C++)

    * 해당 문제 풀이는 '큰돌'님의 문제풀이에서 제가 이해한 부분을 재작성한것입니다 백준 1620 나는야 포켓몬 마스터 이다솜 입니다 문제 해석 우선 실제 문제를 보면 많이 깁니다.. 서론이 조금 길어서 문제 자체가 많이 길어지긴했는데 핵심은 마지막 오박사님의 말을 해석하면됩니다 진정한 포켓몬 마스터가 되기 위해서 도감을 완성시켜야되는데 현재 가지고있는 포켓몬 독마에서 포켓몬 이름을 보면 포켓몬 번호를, 포켓몬 번호를 보면 포켓몬 이름을 말하는 연습을 한다고 나와있습니다 즉 포켓몬이름 - 포켓몬 번호로 이루어진 자료구조와, 포켓몬 번호 - 포켓몬 이름으로 이루어져 있는 자료구조를 사용을 해야됩니다 일반적인 배열을 생각인 났다면 배열에 인덱스는 정수값밖에 입력이 되지 않아 포켓이름-포켓몬 번호로 이루어진 자..

    백준 2559 수열(C++)

    * 해당 문제 풀이는 '큰돌'님의 문제풀이에서 제가 이해한 부분을 재작성한것입니다 백준 2559 수열입니다 문제 해석 해당 문제는 문제 지문이 어렵지는 않았는데 해당 문제를 풀기 위한 개념(누적합)을 이해하는게 조금 어려웠습니다 우선 문제에서는 아래와 같이 n일 간에 온도가 주어졌을때 연속적인 k간의 온도의 합중 가장 큰값을 구하는 문제입니다 3 -2 -4 -9 0 3 7 13 8 -3 해당 문제를 풀기전에 누적합의 개념부터 알아보도록하겠습니다 누적합 부분합, 누적합이라고도 하며, 배열의 일부 구간에 대한 합을 빠르게 구할수 있는 방법입니다 예를 들어오면 [5,6,2,6,4] 와 같은 배열이 있을때 이 배열의 누적합을구하게 되면 아래와 같이 나오게 됩니다 5 11 13 19 23 즉 5 + 6한 결과에 ..

    백준 1159 농구 경기(C++)

    * 해당 문제 풀이는 '큰돌'님의 문제풀이에서 제가 이해한 부분을 재작성한것입니다 백준 1159 농구 경기 입니다 문제 해석 농구 경기 문제를 해석해보겠습니다 문제의 지문이 조금 길수도 있지만 핵심만 파악을 해보겠습니다 우선 상근이는 국가대표팀의 감독이 된 이후에 매우 게을러졌습니다, 게을려졌기때문에 선수의 이름도 모르고, 능력도 모르기때문에, 어떤 농구 선수가 선발되어있는 기억하기 쉽게 성의 첫글자가 같은 선수 5명을 선발하고, 성의 첫글자가 같은 선수가 5명보다 적다면 경기를 기권할려고 하고있습니다 입력을 보게 되면 우선 선수의 수(N)이 주어지고 다음줄부터 N만큼 선수의 성이 문자열로 주어집니다 여기서 입력된 문자열에 가장 앞글자에 있는 알파벳을 가져와서 카운팅을 하면됩니다 즉 a가 몇개, b가 몇..

    백준 2979 트럭주차(C++)

    * 해당 문제 풀이는 '큰돌'님의 문제풀이에서 제가 이해한 부분을 재작성한것입니다 백준 2979번 트럭주차 입니다 문제 해석 이 문제는 해석하는데 조금 어려웠습니다 우선 상근이는 트럭을 총 세대는 가지고 있고, 상근이가 이용하는 주차장은 주차하는 트럭의 수에 따라서 주차 요금을 할인 해줍니다 즉 1대 주차할때 한대당 A원, 2대 주차할때 한대당 B원, 3대 주차 할때 한대당 C원이 요금을 내야됩니다 예제를 보게되면 우선 각 A,B,C원에 대한 정수값이 입력이 되고, 그다음주에 상근이가 트럭을 주차하고 도착한 시간과 주차장에서 떠난 시간이 입력 이 되는것입니다 여기서 중요한 것은 시간입니다 우선 처음 시간이 1~6이 입력이 됩니다 즉 1분 에서 5분까지 트럭이 한대가 있었고, 그다음은 3분 에서 4분까지 ..

    백준 2309 일곱난쟁이 (C++)

    * 해당 문제 풀이는 '큰돌'님의 문제풀이에서 제가 이해한 부분을 재작성한것입니다 백준 스페셜 저지 일곱난쟁이 풀이입니다 문제 해석 문제를 간단히 해석해보겠습니다 일과를 마치곤온 백설공주 앞에 난쟁이가 아홉명이 있었습니다, 이 아홉명의 난쟁이는 모두 자신이 일곱난쟁이라고 주장을했지만, 다행이도 백설공주는 일곱난쟁이의 키의 합이 100인것을 알고있었습니다 따라서 아홉 일곱난쟁이의 키가 주어졌을때 위에 조건에따른 일곱난쟁이를 구하는 문제입니다 여기서 중요한 부분은 아홉명의 일곤난쟁이중 7명을 뽑아 키의 합이 100인지를 확인하는것이 이문제의 핵심입니다 즉 순열 혹은 조합을 활용하여 풀수가있습니다 해당 글에서는 순열로 풀이하였습니다 문제 풀이 순서 1. 우선 9개의 정수를 배열로 입력받습니다 2. 순열로 풀것..

    개발자 기술면접 CS 공부-운영체제,자바스크립트

    안녕하세요 퇴사하고 스터디 카페에서 공부를 하고 있는데 일할 때와는 느낌이 많이 다르네요 ㅎㅎ 오늘은 운영체제와 자바스크립트 관련하여 정리하였습니다 운영체제와 컴퓨터 운영체제의 역할 1. CPU 스케쥴링과 프로세스 관리 : CPU소유권을 어떤 프로세스에 할당할지, 프로세스의 생성과 삭제, 자원 할당 및 반환을 관리합니다 2. 메모리 관리 : 한정된 메모리를 어떤 프로세스에 얼마큼 할당해야 하는지 관리합니다. 3. 디스크 파일 관리 : 디스크 파일을 어떠한 방법으로 보관할지 관리합니다. 4. I/O 디바이스 관리 : I/O 디바이스들인 마우스, 키보드와 컴퓨터 간에 데이터를 주고받는 것을 관리합니다 운영체제 구조 유저 프로그램 -> GUI -> 시스템 콜 -> 커널 -> 드라이버 -> 하드웨어 메모리 메모..

    개발자 기술면접 CS 공부-디자인패턴,패러다임,네트워크

    안녕하세요 되게 오랜만에 글을 쓰네요.. 최근에 첫회사를 퇴사를 하고 이직 준비하느라 코테도 공부하고.. CS도 공부하느라 정신없이 지내서 글을 못썼네요 ㅠ 오늘은 제가 최근에 공부하면서 정리했던 기술면접 CS를 정리해보도록 하겠습니다 제가 정리한 것이 정답은 아니며 면접 상황에 맞게 적절하게 답변하는 게 중요합니다 디자인 패턴 싱글톤 : 하나의 클래스에 오직 하나의 인스턴스만 가지는 패턴, 인스턴스를 생성할 때 드는 비용이 줄어들지만 의존성이 높아진다 팩토리 : 객체를 사용하는 객체 생성 부분을 떼어내 추상화한 패턴이자 상속 관계에 있는 두 클래스에서 상위 클래스가 중요한 뼈대를 결정하고, 하위 클래스에서 객체 생성에 관한 구체적인 내용을 결정하는 패턴 전략 패턴 : 객체의 행위를 바꾸고 싶은 경우 직..