본문 바로가기

분류 전체보기186

[java] [PCCP 기출문제] 1번 / 동영상 재생기 풀이1. 모든 시간 값들을 숫자로 변환한다- 분 단위는 * 60, 초 단위는 그대로 정수값으로 변환해 더한다2. next, prev, skip 함수를 만들어준다- int 형은 void를 사용해서 값을 바꿀 수 없으므로 int 형으로 반환하는 함수를 만들어 현재 시간을 수정한다- next는 10초 후에 영상 밖으로 넘어가면 비디오 시간을, 아니면 +10 을 반환- prev는 10초 전에 영상 밖으로 넘어가면 0을, 아니면 -10을 반환3. 오프닝 시간 안에 있을 경우에는 무조건 skip하므로, 초기에 skip을 적용해준다- skip을 한 번 적용한 다음 명령어를 순회해야 한다4. 명령어를 순회한다- next, prev에 따라 현재 시간을 조정하고- 다음 명령어로 넘어가기 전 skip을 한 번 확인한다5. .. 2024. 9. 25.
[java] [PCCP 기출문제] 2번 / 퍼즐 게임 챌린지 풀이1. level의 최댓값과 최솟값을 설정한다- max_level = Array.stream(diffs).max().getAsInt();- min_level = 1;   2. 퍼즐을 풀이하며 누적된 시간을 cum_time에 저장한다. 초기값은 0 3.이진탐색을 사용해 범위를 반씩 좁혀가며 해결한다- binarySearch(난이도, 소요시간, 레벨)- cum_time > limit 이면 min_level을 중위값으로 높인다- cum_time 회고result의 범위가 너무 넓은 경우에는 이진탐색을 해야 엄청난 양의 계산을 피할 수 있다코드 (접은 글)더보기import java.util.*;class Solution { public int solution(int[] diffs, int[] times, .. 2024. 9. 16.
[java] 프로그래머스스쿨 혼자서 하는 틱택토 풀이1. O의 개수를 O_num, X의 개수를 X_num으로 선언한다. 초기값은 02. 이중 배열 map에 틱택토를 그린다- 그려가며 각 문자의 수를 기록한다3. 존재할 수 없는 경우의 수를 기록한다 - O가 X보다 적은 경우 (O가 선공이므로, O가 더 적은 경우는 존재할 수 없다)- O가 X보다 2개 이상 많은 경우 (번갈아가면서 해야하므로 최대 1만 차이날 수 있다)- O와 X가 동일하면서, O가 세 개 연속 존재하는 경우 (O가 이미 이겼음에도 이미 경기를 이어갔다는 것을 의미)- O와 X보다 한 개 더 많으면서, X가 세 개 연속 존재하는 경우 (X가 이미 이겼음에도 이미 경기를 이어갔다는 것을 의미)4. 위의 경우 중 하나에 걸리면 return 0, 아니면 return 1회고이런 문제는 머리를.. 2024. 9. 16.
[github] work-flow 작성, github actions cicd 배포시 겪은 오류들과 해결 💣 도커 이미지 생성 오류- 문제 상황도커 이미지를 생성하는 과정에서 자꾸 오류가 발생했다.생성하는 도커 이미지의 이름을 'ghcr.io/${{github.actor}}/github-actions-auto'로 설정했었다 - 문제 원인 / 해결${{github.actor}}를 사용한다는 것은 깃허브 사용자 이름을 넣는다는 것인데, 내 닉네임이 'Sangddong'이었다도커 이미지 이름에 대문자는 사용이 불가능했다...결국 도커 이미지 이름을 'ghcr.io/sangddong/github-actions-auto'으로 수정하며 해결했다💣 끝 없는 Waiting for a runner to pick up this job...- 문제 상황deploy 단계에서 로컬에서 ec2 인스턴스에 접근해 ./run.sh .. 2024. 8. 21.
[AWS EC2, Github Action, Docker, Node] CICD 구축하기(마지막) workflow 작성하기 차근차근 따라하면 할 수 있습니다 화이팅● 단계 링크CICD 구축하기(1) -  Dockerfile 만들기CICD 구축하기(2) - EC2 인스턴스 생성하기, 세팅하기CICD 구축하기(3) - github repository 세팅▶ CICD 구축하기(4) - workflow 작성하기목표- workflow 이해하고 작성하기- 배포 확인하기 목차1. workflow를 위한 yml 파일 만들기2. workflow 작성하기- test 부분 작성하기- docker 부분 작성하기- deploy 부분 작성하기[1. workflow를 위한 yml 파일 만들기]1. yml 파일 만들기- 리포지토리 → Actions에 들어간다- 리포지토리에 따라 적절한 환경을 추천해주기도 하고 필요한 환경을 검색해서 갖다 쓸 수도 있다-.. 2024. 8. 7.
[AWS EC2, Github Action, Docker, Node] CICD 구축하기(3) - github repository 세팅 차근차근 따라하면 할 수 있습니다 화이팅● 단계 링크 CICD 구축하기(1) - Dockerfile 만들기 CICD 구축하기(2) - EC2 인스턴스 생성하기, 세팅하기 ▶ CICD 구축하기(3) - github repository 세팅 CICD 구축하기(4) - workflow 작성하기목표 - 깃허브와 EC2 인스턴스를 연결한다 - 깃허브 시크릿에 환경변수를 설정한다 목차 1. 깃허브와 EC2 인스턴스 연결하기 2. 깃허브 시크릿에 환경변수 추가하기[1. 깃허브와 EC2 인스턴스 연결하기]1. 로컬에서 인스턴스에 접속한 터미널 준비- 로컬 접속 시 필요한 정보 : 퍼블릭 IPv4 주소, 키 페어 위치와 이름 - 퍼블릭 IPv4 주소 : 인스턴스 ID를 눌러 세부 정보를 확인하면 바로 볼 수 있다- 키 .. 2024. 8. 7.