본문 바로가기
728x90
반응형

분류 전체보기93

[백준]11501번: 주식 https://www.acmicpc.net/problem/11501 11501번: 주식 입력의 첫 줄에는 테스트케이스 수를 나타내는 자연수 T가 주어진다. 각 테스트케이스 별로 첫 줄에는 날의 수를 나타내는 자연수 N(2 ≤ N ≤ 1,000,000)이 주어지고, 둘째 줄에는 날 별 주가를 나타 www.acmicpc.net 주어진 예시에서 주가가 10 7 6이면 최대 이익이 0이고 주가가 1 1 3 1 2 면 최대 이익이 5다. 접근 방법은 다음과 같다. 1) 배열에 주가를 담아놓는다. ex) 1 1 3 1 2 2) 최대 주가(maxStock)와 최종 이익(totalProfit) 변수를 선언한다. maxStock은 가장 큰 주가를 의미하며 totalProfit은 최대 이익을 의미한다. 3-1) maxSt.. 2023. 11. 27.
[백준]11652번: 카드 https://www.acmicpc.net/problem/11652 11652번: 카드 준규는 숫자 카드 N장을 가지고 있다. 숫자 카드에는 정수가 하나 적혀있는데, 적혀있는 수는 -262보다 크거나 같고, 262보다 작거나 같다. 준규가 가지고 있는 카드가 주어졌을 때, 가장 많이 가지 www.acmicpc.net 문제를 보면 가장 중복이 많은 수를 뽑는게 핵심이다. 접근 아이디어는 다음과 같다. 1. 우선 카드 배열에 정수를 다 입력 받는다. 2. 오름차순으로 정렬한다. 3. 현재 중복된 카드 횟수를 저장할 변수 (dupliCnt)와 지금까지 가장 많이 중복된 카드 횟수를 저장할 변수 (maxDupliCnt)를 선언한다. 4. for문을 돌면서 카드가 중복되면 dupliCnt를 증가시키고 이 값이 m.. 2023. 11. 24.
[기초]소켓 프로그래밍 오늘도 기초에 대해서 공부하려고 한다... 소켓 프로그래밍에 대해 용어 위주로 작성할 예정이다. 그 후 실제 코드를 좀 보면서 게임 서버를 만들기 위한 과정과 기초적인 내용들을 정리할 예정이다. 네트워크 프로그래밍 단계를 클라이언트와 서버로 구분지어 설명하려 한다. Clinet - 소켓 생성 -> 서버 소켓 연결 (Connect) -> Data Send/Recv -> 소켓 닫기 (Close) Server - 소켓 생성 -> 소켓 Bind -> 소켓 접속 대기 (Listen) -> 연결 소켓 생성 (Accept) -> 데이터 Recv/Send -> 소켓 닫기 (Close) 결국 Socket을 만들어 접속을 시도하고 위 단계들이 진행 되는데 그럼 Socket을 알아보자 Socket - 컴퓨터 네트워크를 경유.. 2023. 11. 23.
[백준]15900번: 나무 탈출 https://www.acmicpc.net/problem/15900 15900번: 나무 탈출 평소에 사이가 좋지 않던 성원이와 형석이가 드디어 제대로 한 판 붙으려고 한다. 성원이와 형석이 둘과 모두 똑같이 친한 인섭이가 대결 종목을 정해 가져왔다. 바로 '나무 탈출' 이라는 보드게 www.acmicpc.net 문제를 간단하게 요약하면 다음과 같다. - 1은 루트 노드다. - 초기 모든 리프 노드에만 말이 있다. - 말이 루트 노드(1)에 도착하면 제거한다. - 게임은 성원이가 먼저 시작하며 우리가 원하는건 성원이가 이기면 "Yes"를 지면 "No"를 출력하는 것이다. 접근 아이디어 - 몇 개의 트리를 그리고 시뮬레이션 해보면 다음과 같은 규칙을 발견할 수 있다. - 루트노드에서 모든 리프 노드까지의 d.. 2023. 11. 23.
[백준]16948번: 데스 나이트 https://www.acmicpc.net/problem/16948 16948번: 데스 나이트 게임을 좋아하는 큐브러버는 체스에서 사용할 새로운 말 "데스 나이트"를 만들었다. 데스 나이트가 있는 곳이 (r, c)라면, (r-2, c-1), (r-2, c+1), (r, c-2), (r, c+2), (r+2, c-1), (r+2, c+1)로 이동할 수 있다. 크 www.acmicpc.net BFS()를 통해 해결한다. 처음 이런 문제를 해결할 때 항상 2개의 2차원 배열을 만들어 방문을 체크하는 배열과 현재 지점까지의 움직인 횟수를 저장하는 배열을 만들어 사용했다. 조금만 더 최적화를 생각하다보니 2차원 배열 하나를 -1로 초기화 해두 시작하면 될 것으로 생각하여 코드를 작성했다. 1) 초기 map의 모든.. 2023. 11. 23.
[기초] 네트워크 현재 클라이언트 개발자로 공부를 했으나 학교 인턴에서 서버 개발자로 잠시 인턴을 하면서 서버에 큰 흥미를 느꼈다. 그러나 취업이라는 현실에 클라로 가려 했으나 최근 서버 개발자 신입이 될 수 있지 않을까? 라는 희망에 공부를 조금씩 시작해보려 합니다. 사실 서버를 본격적으로 공부하면서 게임 서버 포폴을 만들기 위해선 많은 시간이 투자되어야 하지만... 그래도 기초랑 기본기 특히 용어들을 좀 익숙해지자는 마인드로 시작해봅니다!!! 먼저 네트워크 프로그래밍을 알기 전 인터넷에서 컴퓨터끼리 어떤 방식으로 소통을 진행하는지 알아야 한다. 인터넷에서 컴퓨터들이 서로 정보를 주고 받는데 쓰이는 통신 규약이 있는데 이 모음을 Internet Protocol Suite(인터넷 프로토콜 스위트)라고 부른다. 인터넷 프로.. 2023. 11. 22.
728x90
반응형