본문 바로가기

전체 글

(146)
[프로그래머스] [Java] 피보나치 수 문제 설명https://school.programmers.co.kr/learn/courses/30/lessons/12945?language=java 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr2 이상의 n이 입력되었을 때, n번째 피보나치 수를 1234567으로 나눈 나머지를 리턴하는 함수, solution을 완성해 주세요.첫번째 시도 : 재귀함수class Solution { public int solution(int n) { int answer = fibo(n); return answer % 1234567; } public int fibo(int n) { ..
[프로그래머스] [Java] 네트워크 문제 설명https://school.programmers.co.kr/learn/courses/30/lessons/43162?language=java 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 네트워크란 컴퓨터 상호 간에 정보를 교환할 수 있도록 연결된 형태를 의미합니다. 예를 들어, 컴퓨터 A와 컴퓨터 B가 직접적으로 연결되어있고, 컴퓨터 B와 컴퓨터 C가 직접적으로 연결되어 있을 때 컴퓨터 A와 컴퓨터 C도 간접적으로 연결되어 정보를 교환할 수 있습니다. 따라서 컴퓨터 A, B, C는 모두 같은 네트워크 상에 있다고 할 수 있습니다. 컴퓨터의 개수 n, 연결에 대한 정보가 담긴 2차원 배열 computer..
[프로그래머스] [python] 리코쳇 로봇 문제 설명https://school.programmers.co.kr/learn/courses/30/lessons/169199 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제 풀이 - BFSfrom collections import dequedef solution(board): answer = 0 n = len(board) m = len(board[0]) dx = [-1,1,0,0] dy = [0,0,1,-1] visited = [[False]*m for _ in range(n)] start = find_position(board, 'R') goal = find..
[프로그래머스] [python] 단어 변환 문제 설명https://school.programmers.co.kr/learn/courses/30/lessons/43163?language=python3 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr두 개의 단어 begin, target과 단어의 집합 words가 있습니다. 아래와 같은 규칙을 이용하여 begin에서 target으로 변환하는 가장 짧은 변환 과정을 찾으려고 합니다.1. 한 번에 한 개의 알파벳만 바꿀 수 있습니다.2. words에 있는 단어로만 변환할 수 있습니다.두 개의 단어 begin, target과 단어의 집합 words가 매개변수로 주어질 때, 최소 몇 단계의 과정을 거쳐 begin을 t..
[프로그래머스] [Java] JadenCase 문자열 만들기 문제 설명https://school.programmers.co.kr/learn/courses/30/lessons/12951 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.krJadenCase란 모든 단어의 첫 문자가 대문자이고, 그 외의 알파벳은 소문자인 문자열입니다. 단, 첫 문자가 알파벳이 아닐 때에는 이어지는 알파벳은 소문자로 쓰면 됩니다. (첫 번째 입출력 예 참고)문자열 s가 주어졌을 때, s를 JadenCase로 바꾼 문자열을 리턴하는 함수, solution을 완성해주세요.문제 풀이문자열을 공백 기준으로 나누는 것이 아니라, 문자열을 한 글자씩 순회하면서 처리해야 함(왜냐하면 " hello world ..
[프로그래머스] [Java] 표 편집 문제 설명https://school.programmers.co.kr/learn/courses/30/lessons/81303 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr업무용 소프트웨어를 개발하는 니니즈웍스의 인턴인 앙몬드는 명령어 기반으로 표의 행을 선택, 삭제, 복구하는 프로그램을 작성하는 과제를 맡았습니다. 세부 요구 사항은 다음과 같습니다.위 그림에서 파란색으로 칠해진 칸은 현재 선택된 행을 나타냅니다. 단, 한 번에 한 행만 선택할 수 있으며, 표의 범위(0행 ~ 마지막 행)를 벗어날 수 없습니다. 이때, 다음과 같은 명령어를 이용하여 표를 편집합니다."U X": 현재 선택된 행에서 X칸 위에 있는 행..
[프로그래머스] [Java] 부대복귀 https://school.programmers.co.kr/learn/courses/30/lessons/132266 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제 설명강철부대의 각 부대원이 여러 지역에 뿔뿔이 흩어져 특수 임무를 수행 중입니다. 지도에서 강철부대가 위치한 지역을 포함한 각 지역은 유일한 번호로 구분되며, 두 지역 간의 길을 통과하는 데 걸리는 시간은 모두 1로 동일합니다. 임무를 수행한 각 부대원은 지도 정보를 이용하여 최단시간에 부대로 복귀하고자 합니다. 다만 적군의 방해로 인해, 임무의 시작 때와 다르게 되돌아오는 경로가 없어져 복귀가 불가능한 부대원도 있을 수 있습니다.강철부대가 위치한..
[Java] DFS, BFS Java로 DFS, BFS 정리하기이 글에서는 기본적인 DFS, BFS 알고리즘에 대한 설명을 포함하지 않습니다.Java로 각 알고리즘을 구현하는 방식에 대해 작성하였습니다.1. 그래프를 matrix로 표현하기public class UndirectedGraph{ private int count; // 노드 개수 private int [][] vertexMatrix; public UndirectedGraph(int count) { this.count = count; vertexMatrix = new int[count][count]; } public void addEdges(int from, int to, int weight) { vertexMatrix[from][to] = weight; vert..