컴퓨터 알고리즘 실습2) 대칭 암호화 고전방식 / 확장된 유클리드 (2)
2-12-2
- Algorithm/📚 Concept
- · 2019. 10. 9.
링크 : https://programmers.co.kr/learn/courses/30/lessons/43162?language=python3 코딩테스트 연습 - 네트워크 네트워크란 컴퓨터 상호 간에 정보를 교환할 수 있도록 연결된 형태를 의미합니다. 예를 들어, 컴퓨터 A와 컴퓨터 B가 직접적으로 연결되어있고, 컴퓨터 B와 컴퓨터 C가 직접적으로 연결되어 있 programmers.co.kr 문제 설명 네트워크란 컴퓨터 상호 간에 정보를 교환할 수 있도록 연결된 형태를 의미합니다. 예를 들어, 컴퓨터 A와 컴퓨터 B가 직접적으로 연결되어있고, 컴퓨터 B와 컴퓨터 C가 직접적으로 연결되어 있을 때 컴퓨터 A와 컴퓨터 C도 간접적으로 연결되어 정보를 교환할 수 있습니다. 따라서 컴퓨터 A, B, C는 모두 같..
문제사탕 게임 성공출처다국어분류시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율1 초 128 MB 16057 4939 3534 30.595%문제상근이는 어렸을 적에 "봄보니 (Bomboni)" 게임을 즐겨했다.가장 처음에 N×N크기에 사탕을 채워 놓는다. 사탕의 색은 모두 같지 않을 수도 있다. 상근이는 사탕의 색이 다른 인접한 두 칸을 고른다. 그 다음 고른 칸에 들어있는 사탕을 서로 교환한다. 이제, 모두 같은 색으로 이루어져 있는 가장 긴 연속 부분(행 또는 열)을 고른 다음 그 사탕을 모두 먹는다.사탕이 채워진 상태가 주어졌을 때, 상근이가 먹을 수 있는 사탕의 최대 개수를 구하는 프로그램을 작성하시오.입력첫째 줄에 보드의 크기 N이 주어진다. (3 ≤ N ≤ 50)다음 N개 줄에는 보드에 ..
주식가격문제초 단위로 기록된 주식가격이 담긴 배열 prices가 매개변수로 주어질 때, 가격이 떨어지지 않은 기간은 몇 초인지를 return 하도록 solution 함수를 완성하세요.제한사항prices의 각 가격은 1 이상 10,000 이하인 자연수입니다.prices의 길이는 2 이상 100,000 이하입니다.입출력 예prices return[1, 2, 3, 2, 3] [4, 3, 1, 1, 0]입출력 예 설명1초 시점의 ₩1은 끝까지 가격이 떨어지지 않았습니다.2초 시점의 ₩2은 끝까지 가격이 떨어지지 않았습니다.3초 시점의 ₩3은 1초뒤에 가격이 떨어집니다. 따라서 1초간 가격이 떨어지지 않은 것으로 봅니다.4초 시점의 ₩2은 1초간 가격이 떨어지지 않았습니다.5초 시점의 ₩3은 0초간 가격이 떨어지..
문제 설명무인도에 갇힌 사람들을 구명보트를 이용하여 구출하려고 합니다. 구명보트는 작아서 한 번에 최대 2명씩 밖에 탈 수 없고, 무게 제한도 있습니다.예를 들어, 사람들의 몸무게가 [70kg, 50kg, 80kg, 50kg]이고 구명보트의 무게 제한이 100kg이라면 2번째 사람과 4번째 사람은 같이 탈 수 있지만 1번째 사람과 3번째 사람의 무게의 합은 150kg이므로 구명보트의 무게 제한을 초과하여 같이 탈 수 없습니다.구명보트를 최대한 적게 사용하여 모든 사람을 구출하려고 합니다.사람들의 몸무게를 담은 배열 people과 구명보트의 무게 제한 limit가 매개변수로 주어질 때, 모든 사람을 구출하기 위해 필요한 구명보트 개수의 최솟값을 return 하도록 solution 함수를 작성해주세요.제한사..
동적계획법 개념 1. 동적 계획 알고리즘 그리디 알고리즘과 같이 최적화 문제를 해결하는 알고리즘 작은 부분 문제들의 해들을 구함 + 해를 이용하여 보다 큰 크기의 부분 문제를 해결 + 최종적으로 원래 주어진 문제 해결 Memoization 기법 (프로그램 실행 시 이전에 계산한 값을 저장하여, 다시 계산하지 않도록 하여 전체 실행 속도를 바르게 하는 기술 2. 분할정복과의 비교 분할 정복 : 문제를 나눌 수 없을 때까지 나누어서 각각을 풀면서 다시 합병하여 문제의 답을 얻음 공통점 : 문제를 잘개 쪼갬 차이점 : 동적계획법은 부분문제가 중복되어 상위 문제 해결시 재활용 (memoization) ex)피보나치 수열 분할정복은 부분문제가 중복 안됨. memoization기법 사용 안함 ex)병합정렬, 퀵정렬..
*백준 2557 : Hello World 출력* import java.util.Scanner; public class Main { public static void main(String[] args) { System.out.println("Hello World!"); } } 무조건 import java.util.Scanner; 입력해 주어야 하고 public class Main이라고 따로 지정해 주어야 함 *백준 10718 : 강한친구 대한육군 두 줄 출력* import java.util.Scanner; public class Main{ public static void main(String[] args){ System.out.println("강한친구 대한육군"); System.out.println("강..
2-12-2
1. 문자열 "Hello, I love you. Please love Woongsup!!!"을 XOR을 사용한 암호화 방법으로 암호화 및 복호화 하는 프로그램을 구현하시오. 여기서 key 값은 0x5 (00000101)로 한다. 여기서 Woongsup은 여러분들의 영문 이름으로 대체하도록 한다.//고전방법으로 문자열 암호화 하기 in C#include #define MLENGTH 55unsigned int do_XOR(unsigned int c, unsigned int key) //c가 문자, key가 비밀키{return c^key;}char message[] = {"Welcome to Algorithm Practices, this is Woongsup Kim!"};unsigned int encrypti..