본문 바로가기

분류 전체보기407

2-4.HTTP 더보기 2022.09.19 - [소소한 CS 지식/면접을 위한 CS 전공지식 노트] - 1-1. 디자인 패턴(1) 2022.09.20 - [소소한 CS 지식/면접을 위한 CS 전공지식 노트] - 1-1. 디자인 패턴(2) 2022.09.20 - [소소한 CS 지식/면접을 위한 CS 전공지식 노트] - 1-2. 프로그래밍 패러다임(함수형,객체지향,절차적프로그래밍) 2022.09.22 - [소소한 CS 지식/면접을 위한 CS 전공지식 노트] - 2-1. 네트워크의 기초(토폴로지&성능분석 명령어) 2022.09.23 - [소소한 CS 지식/면접을 위한 CS 전공지식 노트] - 2-2. TCP/IP 4계층 모델 2022.09.27 - [소소한 CS 지식/면접을 위한 CS 전공지식 노트] - 2-3. 네트워크 기.. 2022. 10. 2.
암호화의 기본 개념(대칭키, 공개키 암호화) 암호화의 기본 개념: 대칭키와 공개키 암호화 대칭 키 암호화 공개 키 암호화 암호화, 복호화에 같은 키를 사용하는 방법 암호화에는 누구에게나 공개되어 있는 공개 키를, 복호화에는 수신자만 아는 비밀 키를 사용하는 방법 같은 키를 사용하기 때문에, 자물쇠를 잠그는 사람인 메시지 전송자와 메시지 수신자 모두 키 관리에 주의해야 한다. 대칭 키 알고리즘과 달리 공개 키를 누구에게나 공개해도 상관없고 비밀 키만 잘 관리하면 되어서 조금 더 키 관리가 수월해진다. 대표적인 대칭 키 암호화 방식: DES, AES 알고리즘 대표적인 공개키 암호화 방식: RSA 알고리즘 하나의 대칭 키를 사용하기 때문에 계산 속도가 더 빠르다. 암호화, 복호화에 2개의 키를 사용하기 때문에 상대적으로 대칭 키 암호화 방식보다는 계산 .. 2022. 10. 2.
[백준] 4673 셀프 넘버 문제 셀프 넘버는 1949년 인도 수학자 D.R. Kaprekar가 이름 붙였다. 양의 정수 n에 대해서 d(n)을 n과 n의 각 자리수를 더하는 함수라고 정의하자. 예를 들어, d(75) = 75+7+5 = 87이다. 양의 정수 n이 주어졌을 때, 이 수를 시작해서 n, d(n), d(d(n)), d(d(d(n))), ...과 같은 무한 수열을 만들 수 있다. 예를 들어, 33으로 시작한다면 다음 수는 33 + 3 + 3 = 39이고, 그 다음 수는 39 + 3 + 9 = 51, 다음 수는 51 + 5 + 1 = 57이다. 이런식으로 다음과 같은 수열을 만들 수 있다. 33, 39, 51, 57, 69, 84, 96, 111, 114, 120, 123, 129, 141, ... n을 d(n)의 생성자라.. 2022. 9. 29.
[JAVA] 프로그래머스 자연수 뒤집어 배열로 만들기 자연수 뒤집어 배열로 만들기 자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다. 제한 조건 n은 10,000,000,000이하인 자연수입니다. 입출력 예nreturn 12345 [5,4,3,2,1] class Solution { public int[] solution(long n) { String str = String.valueOf(n); // 크기를 구하기 위해서 String으로 변환 int answer[] = new int[str.length()]; // 배열의 크기를 str로 int num = 0; while(n>0){ answer[num] = (int)(n%10); // 일의 자리 숫자를 순서대로 배열에 넣.. 2022. 9. 28.
[JAVA] 프로그래머스 정수 제곱근 판별 임의의 양의 정수 n에 대해, n이 어떤 양의 정수 x의 제곱인지 아닌지 판단하려 합니다. n이 양의 정수 x의 제곱이라면 x+1의 제곱을 리턴하고, n이 양의 정수 x의 제곱이 아니라면 -1을 리턴하는 함수를 완성하세요.제한 사항 n은 1이상, 50000000000000 이하인 양의 정수입니다. 입출력 예 nreturn 121 144 3 -1 입출력 예 설명 입출력 예#1 121은 양의 정수 11의 제곱이므로, (11+1)를 제곱한 144를 리턴합니다. 입출력 예#2 3은 양의 정수의 제곱이 아니므로, -1을 리턴합니다. 1. 제곱근 Math.sqrt 함수만 사용해서 출력 class Solution { public long solution(long n) { long answer = (long)Math... 2022. 9. 28.
[백준] 8958 OX퀴즈 문제 "OOXXOXXOOO"와 같은 OX퀴즈의 결과가 있다. O는 문제를 맞은 것이고, X는 문제를 틀린 것이다. 문제를 맞은 경우 그 문제의 점수는 그 문제까지 연속된 O의 개수가 된다. 예를 들어, 10번 문제의 점수는 3이 된다. "OOXXOXXOOO"의 점수는 1+2+0+0+1+0+0+1+2+3 = 10점이다. OX퀴즈의 결과가 주어졌을 때, 점수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 테스트 케이스의 개수가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있고, 길이가 0보다 크고 80보다 작은 문자열이 주어진다. 문자열은 O와 X만으로 이루어져 있다. 출력 각 테스트 케이스마다 점수를 출력한다. 예제 입력 1 복사 5 OOXXOXXOOO OOXXOOXXOO OXOXOXOXOXOXOX .. 2022. 9. 27.