전체 글 7

[SWEA] 1767 프로세서 연결하기 / JAVA

문제 https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV4suNtaXFEDFAUf SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com [제약 사항] 1. 7 ≤ N ≤ 12 2. Core의 개수는 최소 1개 이상 12개 이하이다. 3. 최대한 많은 Core에 전원을 연결해도, 전원이 연결되지 않는 Core가 존재할 수 있다. [입력] 입력의 가장 첫 줄에는 총 테스트 케이스의 개수 T가 주어지며 그 다음 줄부터 각 테스트 케이스가 주어진다. 각 테스트 케이스의 첫 줄에는 N값이 주어지며, 다음 N줄에 걸쳐서 멕시노스의 초기 ..

알고리즘/SWEA 2023.07.27

[SWEA] 1248 공통 조상 D5 / JAVA

문제 https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV15PTkqAPYCFAYD SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com [입력] 가장 첫 번째 줄에 테스트케이스의 수가 주어진다. 각 케이스의 첫 번째 줄에는 정점의 개수 V(10 ≤ V ≤ 10000)와 간선의 개수 E, 공통 조상을 찾는 두 개의 정점 번호가 주어진다. 각 케이스의 두 번째 줄에는 E개 간선이 나열된다. 간선은 항상 “부모 자식” 순서로 표기된다. 위에서 예로 든 트리에서 정점 5와 8을 잇는 간선은 “5 8”로 표기된다. 정점의 번호는 1부터..

알고리즘/SWEA 2023.07.25

[JAVA] 이중 연결 리스트 (Doubly Linked List) 구현

이중 연결 리스트? 각 노드에서 양방향(선행, 후행)으로 연결되는 리스트 양 방향 접근이 용이 BUT 메모리를 추가적으로 사용 구현해 볼 메서드는? 1. 초기화 2. 리스트 맨 앞에 데이터 삽입하기 3. 리스트 맨 끝에 데이터 삽입하기 4. 리스트 중간에 원하는 자리에 데이터 삽입하기 5. 리스트에서 지우고 싶은 데이터 삭제하기 6. 리스트에서 값으로 조회해서 인덱스 번호 넘기기 7. 리스트 찾기 8. 역으로 리스트 찾기 1. 초기화 public void init() { head = null; tail = null; nodeCnt = 0; } 이렇게 초기화 시켜두면 더미 노드로 처음 값을 넣을 때 값이 있나 없나 확인하고 하는 과정이 줄어든다. 2. 리스트 맨 앞에 데이터 삽입하기 public void ..

[JAVA] 단순 연결 리스트 (Singly Linked List) 구현

단순 연결리스트? 각 노드에서 단방향으로 연결되는 리스트 후행 노드로는 쉽게 접근 가능 BUT 선행 노드 접근이 복잡한 단점 존재 구현해 볼 메서드는? 1. 초기화 2. 리스트 맨 앞에 데이터 삽입하기 3. 리스트 맨 끝에 데이터 삽입하기 4. 리스트 중간에 원하는 자리에 데이터 삽입하기 5. 리스트에서 지우고 싶은 데이터 삭제하기 6. 리스트에서 인덱스 번호를 받아서 데이터 찾기 구현 구현은 정적 할당을 통한 메모리 풀 방식으로 구현할 것입니다. 당연히 평소엔 동적 할당을 통해서 사용해야겠지만 알고리즘 문제를 풀 때는 동적 할당을 하면 성능 문제로 정적으로 할당합니다. => 모든 노드가 메모리 상에서 뭉쳐 있어 캐시 효율 증가 0. 노드 생성 public Node getNode(int data) { n..

[SWEA] 3316 동아리실 관리하기 D4 / JAVA

https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWBnFuhqxE8DFAWr SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com [입력] 첫 번째 줄에 테스트 케이스의 수 T가 주어진다. 각 테스트 케이스마다 길이 10,000 이하인 하나의 문자열이 주어진다. 이 문자열은 A, B, C, D로 이루어져 있으며, i번째 문자는 i번째 날의 책임자가 누구인지를 나타낸다. [출력] 각 테스트 케이스마다 N일 동안의 동아리 활동을 할 수 있는 경우의 수를 출력하는 프로그램을 작성하라. 이 수는 너무 커질 수 있으므로 1,000,00..

알고리즘/SWEA 2023.07.19

삼성전자 DX 알고리즘 역량 강화 특강

삼성 청년 SW 아카데미가 끝난 이후 B형을 취득할 기회가 없을 줄 알았는데 기회가 생겼다. 지원할 때는 간단한 개인정보와 SWEA 아이디를 적어주면 신청 끝! 이후 5일간 문제를 푸는 기간을 준다. 총 두 문제가 나왔다. 1번은 bfs 2번은 시간을 줄이는 구현 문제였다. 문제 풀이 기간이 지나고 이틀 뒤 17시 30분 정도에 합격 메일을 받았다. 두 문제 다 풀어도 떨어졌다는 후기보고 조금 무서웠지만 다행히 합격 ㅠㅛㅠ 앞으로 6주간 열심히해서 이번엔 꼭 Pro...

취업 2023.07.19

HTTP 버전별 특징

목차 HTTP 0.9 HTTP 1.0 HTTP 1.1 HTTP 2.0 HTTP (HyperText Transfer Protocol) 다양한 형태의 정보를 전송하는 어플리케이션 프로토콜 역사 연도 간단 설명 HTTP/0.9 1991년 GET 메서드만 지원 오류 코드 X HTTP 헤더 X HTML 파일만 전송 HTTP/1.0 1996년 메서드, 헤더, 오류코드 추가 여러 타입의 파일도 전송 가능 매 요청마다 연결 및 연결 종료 HTTP/1.1 1997년 Keepalive 기능 default로 추가 pipelining 기능 추가 HTTP/2.0 2015년 1.1버전 한계인 HOL block 보완을 위해 등장 Multiplexing HTTP/3.0 ~ing QUIC (UDP) 프로토콜을 사용 궁금하면 https..