본문 바로가기

728x90

전체 글

(455)
[프로그래머스] 네트워크 코드 힌트:그래프 탐색의 필요성:각 컴퓨터를 노드로 보고, 컴퓨터 간의 연결을 간선으로 생각하면, 네트워크의 수를 찾는 문제는 그래프에서 연결 요소의 수를 찾는 문제로 볼 수 있습니다.깊이 우선 탐색(DFS) 또는 너비 우선 탐색(BFS):한 컴퓨터에서 시작해 연결된 모든 컴퓨터를 탐색하고, 이미 탐색한 컴퓨터는 다시 탐색하지 않도록 표시합니다.새로운 컴퓨터에서 탐색을 시작할 때마다 새로운 네트워크가 하나 발견됩니다.방문 여부를 기록하는 배열:배열을 사용해 각 컴퓨터가 이미 탐색된 네트워크에 포함되어 있는지를 기록합니다.정답은 더보기 클릭더보기import java.util.*;class Solution { public int solution(int n, int[][] computers) { ..
[프로그래머스] 제일 작은 수 제거하기 힌트배열 크기 체크: 배열의 크기가 1일 때 특별히 처리해야 합니다.최소 값 인덱스 찾기: 배열을 순회하여 최소 값을 찾고 그 인덱스를 기록합니다.결과 배열 생성: 최소 값을 제외한 나머지 원소를 담을 배열을 생성합니다.값 복사: 최소 값의 인덱스를 제외하고 나머지 원소를 결과 배열에 복사합니다.  정답은 더보기 클릭더보기class Solution { public int[] solution(int[] arr) { // 배열 크기가 1일 때 if (arr.length == 1) { arr[0] = -1; // 배열의 유일한 원소를 -1로 설정 return arr; // 변경된 배열 반환 } // 최소 숫자가 있는..
[프로그래머스] 나머지가 1이 되는 수 찾기 힌트범위 설정: 2부터 n-1까지의 숫자에 대해 나머지를 검사합니다. 1은 모든 수의 약수이므로 제외하고, n 자신도 제외합니다.나머지 연산: n % i == 1 조건을 만족하는 i를 찾습니다.최소값 찾기: 조건을 만족하는 가장 작은 i를 찾으면 바로 break로 반복을 종료하여 효율성을 높입니다.반환 값: 조건을 만족하는 첫 번째 i를 result에 저장하고 반환합니다. 정답은 더보기 클릭더보기class Solution { public int solution(int n) { int result = 0; // 결과를 저장할 변수 초기화 // 2부터 n-1까지의 숫자 i에 대해 반복 for (int i = 2; i
[프로그래머스] 콜라츠 추측 힌트무한 루프와 조건문: 무한 루프를 사용하고 조건문을 통해 특정 상황에서 루프를 종료하는 구조입니다.작업 횟수: 각 작업마다 result를 증가시켜 작업 횟수를 기록합니다.짝수와 홀수 처리: num이 짝수인지 홀수인지에 따라 다른 처리를 합니다.최종 반환 값: 작업이 성공적으로 끝나 num이 1이 되면 result를 반환하고, 그렇지 않으면 -1을 반환하여 작업이 실패했음을 나타냅니다.   정답은 더보기 클릭더보기class Solution { public int solution(long num) { int result = 0; // 작업 횟수를 저장할 변수 while (true) { // num이 1이 되거나 작업 횟수가 500 이상이 되..
[프로그래머스] 숫자 찾기 코드힌트문자열 변환: num을 문자열로 변환하면 각 자리 숫자를 쉽게 비교할 수 있습니다.문자에서 숫자 변환: strNum.charAt(i) - '0'는 문자 '0'을 기준으로 현재 문자를 숫자로 변환하는 일반적인 방법입니다.1-based 인덱스: 문제에서 요구하는 1-based 인덱스(1부터 시작하는 인덱스)를 반환하기 위해, 찾은 인덱스에 1을 더해줍니다.빠른 반환: k를 찾으면 바로 결과를 반환하여 불필요한 반복을 방지합니다.  정답은 더보기 클릭더보기class Solution { public int solution(int num, int k) { int result = -1; // 결과를 저장할 변수, 초기값은 -1 String strNu..
[네트워크] URL의 구조 URL (Uniform Resource Locator)URL은 Uniform Resource Locator의 약자로, 웹상의 리소스(문서, 이미지, 동영상 등)의 위치를 나타내는 주소입니다.  URL의 구조URL은 다음과 같은 구성 요소로 이루어져 있습니다:http://www.example.com:80/path/to/myfile.html?key1=value1&key2=value2#SomewhereInTheDocument스키마://도메인 이름:포트 번호/리소스 경로?파라미터#앵커  구성 요소 설명1. 스키마스키마는 해당 주소에서 사용하는 프로토콜을 나타냅니다. 프로토콜은 클라이언트와 서버 간의 통신 규칙을 정의합니다. 주로 사용되는 프로토콜은 http(HyperText Transfer Protocol)과 ..
[Spring Boot] Web Authentication(웹 인증) 웹 인증이란?웹 인증은 HTTP 프로토콜의 특성으로 인해 사용자가 누구인지 확인하고, 권한이 있는지 확인하는 데 사용됩니다. 이는 웹 사이트에서의 본인 신분증과 같은 개념입니다. 사용자가 특정 사이트에서 서버에 요청을 보낼 때마다 꾸준히 인증이 이루어집니다.웹 사이트에서의 인증 동작 현실 예시:술집(홈페이지)에 들어갔을 때 신분증 검사술, 음식을 주문할 때마다 신분증 검사밖에 잠시 나갔다 왔을 때 신분증 검사즉, 웹사이트에서는 꾸준히 신분증을 검사하고 있습니다. HTTP 프로토콜 특성을 아직 모르신다면 이 글을 참고하시는 것을 추천합니다. 웹 인증은 웹 서비스의 보안성을 높이며, 사용자 데이터의 무단 접근을 방지하기 위한 중요한 보안 요소입니다.웹 인증이 없다면?웹 인증이 없다면, 관리자만 접근할 수 있..
[프로그래머스] 문자열 여러 번 뒤집기 코드 힌트쿼리 순회주어진 queries 배열을 순회하며 각 쿼리에서 시작 인덱스 s와 끝 인덱스 e를 추출합니다.앞부분 자르기my_string에서 시작 인덱스 s 이전의 문자열을 저장합니다.뒤집을 부분 문자열 생성String을 사용하여 my_string에서 s부터 e까지의 문자열을 뒤집습니다.문자열 뒤집는 2가지 방법 : https://shs00925.tistory.com/60뒷부분 자르기my_string에서 끝 인덱스 e 이후의 문자열을 저장합니다.새로운 문자열 생성s이전의 문자열, 뒤집은 문자열, e이후의 문자열을 합쳐서 새로운 my_string을 만듭니다.최종 결과 반환모든 쿼리를 처리한 후 최종 결과 문자열을 반환합니다. 정답은 더보기 클릭더보기1. String으로 문제 풀기class Soluti..

728x90