[프로그래머스] Lv.1 시저 암호
·
Algorithm/프로그래머스 코딩테스트 문제풀이전략
https://school.programmers.co.kr/learn/courses/30/lessons/12926 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제풀이 접근 1. 문자열을 순회하면서 공백인 경우, 결과값에 공백을 그대로 더해준다 2. 문자열을 lowercase로 전부 변환하고, 임시값을 저장한다. 3. 문자열에 n만큼 밀었을 때, 'z'보다 크다면 26만큼 빼준다. 4. 만약에 기존 문자열이 대문자라면, 'a'를 더한 값을 대문자로 변환해준다. class Solution { public String solution(String s, i..
[프로그래머스] Lv.1 자연수 뒤집어 배열로 만들기
·
Algorithm/프로그래머스 코딩테스트 문제풀이전략
https://school.programmers.co.kr/learn/courses/30/lessons/12932?language=java 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr class Solution { public int[] solution(long n) { String s = String.valueOf(n); int[] answer = new int[s.length()]; StringBuilder sb = new StringBuilder(s); String reversed = sb.reverse().toString(); char [] ar..
[프로그래머스] Lv.2 행렬의 곱셈
·
Algorithm/프로그래머스 코딩테스트 문제풀이전략
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..
[프로그래머스] Lv2. 거리두기 확인하기
·
Algorithm/프로그래머스 코딩테스트 문제풀이전략
문제풀이 접근 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 ..
[프로그래머스] Lv.2 삼각 달팽이
·
Algorithm/프로그래머스 코딩테스트 문제풀이전략
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(..
[프로그래머스] Lv.2 교점에 별 만들기
·
Algorithm/프로그래머스 코딩테스트 문제풀이전략
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. 정수 좌표만 ..