분류 전체보기 274

웹 브라우저의 작동원리

📌 웹브라우저와 웹서버의 통신과정 브라우저 : 동기(Synchronous)적으로 (HTML + CSS), Javascript 언어를 해석해 내용을 화면에 보여주는 응용소프트웨어 웹브라우저가 웹서버에 필요한 자원(웹페이지)를 요청하면 서버는 응답하고 웹브라우저는 이를 해석한 후 클라이언트에게 보여준다. - 브라우저의 주요기능은 사용자가 자원을 서버에 요청하고 요청한 자원을 브라우저에 보여주는것으로 보통 자원은 HTML문서이지만 PDF,이미지 등 다양한 형태일 수 있다. 웹 브라우저에 URL을 입력하면 웹서버라 불리는 프로그램이 웹브라우저에 웹페이지를 제공한다. REQUEST(요청) : 웹브라우저가 웹서버에 자원을 요청하는것 RESPONSE(응답) : 웹서버가 웹브라우저에게 제공하는것 보통 웹 브라우저와 웹..

Backend/Internet 2022.12.08

[프로그래머스/Lv.1] 정수 제곱근 판별

문제 설명 임의의 양의 정수 n에 대해, n이 어떤 양의 정수 x의 제곱인지 아닌지 판단하려 합니다. n이 양의 정수 x의 제곱이라면 x+1의 제곱을 리턴하고, n이 양의 정수 x의 제곱이 아니라면 -1을 리턴하는 함수를 완성하세요. 제한사항 n은 1이상, 50000000000000 이하인 양의 정수입니다. 입출력 예 n return 121 144 3 -1 입출력 예 설명 입출력 예 #1 121은 양의 정수 11의 제곱이므로, (11+1)를 제곱한 144를 리턴합니다. 입출력 예 #2 3은 양의 정수의 제곱이 아니므로, -1을 리턴합니다. ⭕ 풀이 class Solution { public long solution(long n) { long answer = -1; double sqrt = Math.sqr..

[프로그래머스/Lv.1] 자연수 뒤집어 배열로 만들기

문제 설명 자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다. 제한사항 n은 10,000,000,000이하인 자연수입니다. 입출력 예 n return 12345 [5,4,3,2,1] ⭕ 풀이 class Solution { public int[] solution(long n) { int[] result = new int[String.valueOf(n).length()]; int idx = 0; while(n > 0){ result[idx] = (int)(n%10); n /= 10; idx++; } return result; } } ✅ 입력받는 long 타입 변수 n의 길이를 알기위해 문자열로 형변환한뒤 length()..

[프로그래머스/Lv.1] 자릿수 더하기

문제 설명 자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요. 예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다. 제한사항 N의 범위 : 100,000,000 이하의 자연수 입출력 예 N answer 123 6 987 24 입출력 예 설명 입출력 예 #1 문제의 예시와 같습니다. 입출력 예 #2 9 + 8 + 7 = 24이므로 24를 return 하면 됩니다. ⭕ 풀이 public class Solution { public int solution(int n) { int answer = 0; while(n>0){ answer+=(n%10); n/=10; } return answer; } } ✅ 각 자릿수를 구하기위해 가..

[프로그래머스/Lv.1] 평균 구하기

문제 설명 정수를 담고 있는 배열 arr의 평균값을 return하는 함수, solution을 완성해보세요. 제한사항 arr은 길이 1 이상, 100 이하인 배열입니다. arr의 원소는 -10,000 이상 10,000 이하인 정수입니다. 입출력 예 arr return [1,2,3,4] 2.5 [5,5] 5 ⭕ 풀이 class Solution { public double solution(int[] arr) { int sum=0; for(int num:arr){ sum+=num; } return (double)sum/arr.length; } } ✅ 배열의 모든 원소를 변수 sum에 누적합해두고 원소의 갯수로 나누면 되는데 ❗ 자바는 정수 / 정수 = 정수 가 된다. 입출력 예1) 처럼 [1,2,3,4] 가 입..

[프로그래머스/Lv.1] 약수의 합

문제 설명 정수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수, solution을 완성해주세요. 제한사항 n은 0 이상 3000 이하인 정수입니다. 입출력 예 n return 12 28 5 6 입출력 예 설명 입출력 예 #1 12의 약수는 1, 2, 3, 4, 6, 12입니다. 이를 모두 더하면 28입니다. 입출력 예 #2 5의 약수는 1, 5입니다. 이를 모두 더하면 6입니다. ⭕ 풀이 class Solution { public int solution(int n) { int result = 0 ; for(int i=1;i

[백준/JAVA] 2563 : 색종이 (2차원 배열)

문제 가로, 세로의 크기가 각각 100인 정사각형 모양의 흰색 도화지가 있다. 이 도화지 위에 가로, 세로의 크기가 각각 10인 정사각형 모양의 검은색 색종이를 색종이의 변과 도화지의 변이 평행하도록 붙인다. 이러한 방식으로 색종이를 한 장 또는 여러 장 붙인 후 색종이가 붙은 검은 영역의 넓이를 구하는 프로그램을 작성하시오. 예를 들어 흰색 도화지 위에 세 장의 검은색 색종이를 그림과 같은 모양으로 붙였다면 검은색 영역의 넓이는 260이 된다. 입력 첫째 줄에 색종이의 수가 주어진다. 이어 둘째 줄부터 한 줄에 하나씩 색종이를 붙인 위치가 주어진다. 색종이를 붙인 위치는 두 개의 자연수로 주어지는데 첫 번째 자연수는 색종이의 왼쪽 변과 도화지의 왼쪽 변 사이의 거리이고, 두 번째 자연수는 색종이의 아래..

[백준/JAVA] 2566 : 최댓값 (2차원 배열)

문제 과 같이 9×9 격자판에 쓰여진 81개의 자연수 또는 0이 주어질 때, 이들 중 최댓값을 찾고 그 최댓값이 몇 행 몇 열에 위치한 수인지 구하는 프로그램을 작성하시오. 예를 들어, 다음과 같이 81개의 수가 주어지면 이들 중 최댓값은 90이고, 이 값은 5행 7열에 위치한다. 입력 첫째 줄부터 아홉 번째 줄까지 한 줄에 아홉 개씩 수가 주어진다. 주어지는 수는 100보다 작은 자연수 또는 0이다. 출력 첫째 줄에 최댓값을 출력하고, 둘째 줄에 최댓값이 위치한 행 번호와 열 번호를 빈칸을 사이에 두고 차례로 출력한다. 최댓값이 두 개 이상인 경우 그 중 한 곳의 위치를 출력한다. 예제입력 예제출력 3 23 85 34 17 74 25 52 65 10 7 39 42 88 52 14 72 63 87 42 ..

[프로그래머스/Lv.1] 짝수와 홀수

문제 설명 정수 num이 짝수일 경우 "Even"을 반환하고 홀수인 경우 "Odd"를 반환하는 함수, solution을 완성해주세요. 제한사항 num은 int 범위의 정수입니다. 0은 짝수입니다. 입출력 예 num return 3 "Odd" 4 "Even" ⭕ 풀이 class Solution { public String solution(int num) { return num%2==0?"Even":"Odd"; } } ✅ 삼항연산자를 사용해 간단히 풀이하면 된다. -출처 https://school.programmers.co.kr/learn/courses/30/lessons/12937

[백준/JAVA] 2738 : 행렬 덧셈 (2차원 배열)

문제 N*M크기의 두 행렬 A와 B가 주어졌을 때, 두 행렬을 더하는 프로그램을 작성하시오. 입력 첫째 줄에 행렬의 크기 N 과 M이 주어진다. 둘째 줄부터 N개의 줄에 행렬 A의 원소 M개가 차례대로 주어진다. 이어서 N개의 줄에 행렬 B의 원소 M개가 차례대로 주어진다. N과 M은 100보다 작거나 같고, 행렬의 원소는 절댓값이 100보다 작거나 같은 정수이다. 출력 첫째 줄부터 N개의 줄에 행렬 A와 B를 더한 행렬을 출력한다. 행렬의 각 원소는 공백으로 구분한다. 예제입력 예제출력 3 3 1 1 1 2 2 2 0 1 0 3 3 3 4 4 4 5 5 100 4 4 4 6 6 6 5 6 100 ⭕ 풀이 import java.io.*; import java.util.*; public class Main..