본문 바로가기

Algorithm100

[프로그래머스] Lv.2 행렬의 곱셈 https://school.programmers.co.kr/learn/courses/30/lessons/12949 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제풀이 접근 행렬의 합은 answer[0][0] = arr1[0][0] * arr2[0][0] + arr1[0][1] * arr2[1][0]; answer[0][1] = arr1[0][1] * arr2[0][1] + arr1[0][1] * arr2[1][1]; 즉, R[i][j] = A[i][K] * B[K][j] + A[i][K] * B[K][j] 출처: https://tosuccess.tis.. 2024. 4. 16.
[프로그래머스] Lv2. 거리두기 확인하기 문제풀이 접근 1. 한번에 5개의 케이스가 주어지므로, places[]로 처음에 순회를 해야한다. 2. 배열에서 'P'를 찾으면, 해당 좌표를 bfs 돌려준다. 2-1. 해당 좌표를 큐에 넣고, 방문 처리 해준다. 2-2. 범위를 초과했거나, 방문한 지역이면 continue 해준다. 2-3. 만약에 순회한 지역에서 'P'를 찾고, 거리가 2 이내라면 false를 리턴한다. 2-4. 'O'이면서 거리가 2 이내일 때, 큐에 넣어서 탐색을 계속 이어나간다. 3. bfs의 결과를 flag에 반영하고, 그 결과에 따라서 answer 배열 값을 업데이트 해준다. import java.util.*; class Solution { static int [] dx = {1,0,-1,0}; static int [] dy .. 2024. 4. 16.
[프로그래머스] Lv.2 삼각 달팽이 https://school.programmers.co.kr/learn/courses/30/lessons/68645?language=java 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1번 풀이 class Solution { static int [] dx = {1,0,-1}; static int [] dy = {0,1,-1}; public int[] solution(int n) { int [][] temp = new int[n][n]; int x = 0; int y = 0; int val = 1; while (true) { // 아래로 이동 while(.. 2024. 4. 16.
[프로그래머스] Lv.2 교점에 별 만들기 https://school.programmers.co.kr/learn/courses/30/lessons/87377 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 접근 1. x,y 좌표를 저장하는 Point 클래스 생성 2. 2차원 배열의 line을 돌면서 교점 좌표를 구하여 리스트에 저장 3. x, y좌표의 최대값과 최소값을 구한다. 4. 별을 저장하는 배열의 크기는 (최대 - 최소 + 1)이 된다. 5. 2차원 배열에 점을 찍는다. 6. 교점 좌표에 별을 찍는다. 주의 사항 1. x,y값을 long 타입으로 지정해야 한다. 2. 정수 좌표만 .. 2024. 4. 15.