전체 글(73)
-
[백준] X와 K 파이썬 풀이
※ 사용언어 : 파이썬 ※ ▼ 문제 링크 ▼ https://www.acmicpc.net/problem/1322 1322번: X와 K 첫째 줄에 X와 K가 주어진다. X와 K는 2,000,000,000보다 작거나 같은 자연수이다. www.acmicpc.net 문제 접근 ◇ X와 K의 범위가 20억보다 작거나 같은 자연수로 상당히 범위가 큽니다. 해당 수의 범위를 생각하면 시간 복잡도에 N이 들어가면 2초 안에 문제를 풀기는 거의 불가능하다고 볼 수 있습니다. 그러므로 상수 시간 내에 문제를 해결할 수 있는 방안을 모색해야 합니다. ◇ int형의 표현 범위는 대략적으로 21억 정도입니다. 즉 X와 K는 int형 범위 내의 수라는 것을 알 수 있습니다. 또한, int형은 4byte=32bit이므로, X와 K는..
2023.01.15 -
[프로그래머스] 억억단을 외우자 파이썬 풀이
※사용언어 : 파이썬 ※ ▼ 문제 링크 ▼ https://school.programmers.co.kr/learn/courses/30/lessons/138475 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제설명 ◇ 문제를 요약하자면 다음과 같습니다. ▶ 구구단 같이, 억 X 억을 곱해둔 단이 존재합니다. 그리고 해당 억억단에서 s 부터 e까지의 수 중 가장 많이 나온 수를 찾고 출력합니다. 단, s 부터 e까지의 수 중 가장 많이 나온 수가 여러 개이면 가장 작은 수를 출력합니다. (여기서 s는 starts 배열 안의 수다.) ◇ 풀이 방법을 간단하게..
2023.01.07 -
[SSL 탐구서 1장] SSL 이란?
SSL 개념 기존 인터넷 세상에서 클라이언트(웹브라우저)와 서버가 주고받는 데이터는 평문 형태였습니다. 하지만 인터넷 세상이 발전하고 클라이언트와 서버가 주고받는 데이터 중 타인이 함부로 봐서는 안 되는 정보들이 생기기 시작했다. 이러한 정보들을 안전하게 주고받을 수 있도록 HTTPS라는 통신 프로토콜이 나타나게 되었습니다. 그리고 HTTPS 프로토콜에서 데이터의 보안(암호화)을 담당하는 프로토콜이 SSL(Secure Socket Layer)입니다. SSL(Secure Socket Layer)는 클라이언트(웹브라우저)와 서버가 주고 받는 데이터를 공개기 알고리즘에 기반하여 암호화 하여, 중간에 적합하지 않은 사용자가 해당 데이터를 보아도 해석할 수 없으며 오직 클라이언트와 서버만이 데이터의 원본을 읽을 ..
2022.12.04 -
[구름] 알고리즘 먼데이 챌린지 0주차 카드 교환하기 파이썬 풀이
※사용언어 : 파이썬 ※ ▼ 문제 링크 ▼ 0주 차 챌린지 goorm 구름은 클라우드 기술을 이용하여 누구나 코딩을 배우고, 실력을 평가하고, 소프트웨어를 개발할 수 있는 클라우드 소프트웨어 생태계입니다. goorm.co 문제 접근 해당 문제는 구름 측에서 해설지를 제공하고있다. 그럼에도 불구하고 포스팅을 한 이유는 단순히 해설지에 파이썬 코드가 없기 때문이었다. 그냥 넘어가긴 조금 아쉬운 감이 있으니 해설지 내용을 간략하게 압축하여 서술하겠다. 해당 문제는 그리디로 접근이 가능하다. 그 이유는 사람의 순번이 작을수록 그 사람이 교환할 수 있는 카드 중 가장 작은 수를 선택해야 하기 때문이다. 예를 들어, 순번이 2, 5, 6 인 사람끼리 카드 교환이 가능하다고 가정하겠습니다. 그리고 세 명의 사람이 가..
2022.11.16 -
[React/리액트] Modal component 만들기
※ 실행화면 ※ One button Two button ※ 사용 기술(언어)※ React, Javascirpt, CSS 1. One button ◈ App JSX import React from "react"; import {useState} from "react"; import "./App.css"; import Modal from "./component/modal"; function App() { const [isModal, setIsModal] = useState(false); const [info, setInfo] = useState('modal 창 테스트 중……'); const onClick = () => { setIsModal(!isModal) } return ( Open the modal! ..
2022.10.06 -
[백준] 18119 단어 암기
※ 사용언어 : 자바 ※ ▼ 문제 링크 ▼ https://www.acmicpc.net/problem/18119 문제 접근 1. 완전 탐색을 이용, 각 쿼리가 이루어질 때마다 각 단어의 알파벳을 다 기억하고 있는지 검사하면 시간 초과로 문제를 풀 수 없습니다. 그러므로 비트마스킹을 이용해 알고리즘 수행 시간을 감소시켜야 합니다. 2. 비트마스킹이란 정수의 이진수 표현을 자료구조로 이용하는 방식입니다. 3. 접근 1) 준석에는 처음에 모든 알파벳을 기억하고 있는 상태입니다. 모든 알파벳을 기억하는 변수(allAlphabet)를 하나 만들어줍니다. 알파벳은 총 26개로 0부터 시작한단 가정 아래 25개의 숫자열이 탄생하게 됩니다. 초기에는 전부 기억하고 있으니 아래 첨부된 표처럼 26개의 1이 나열된 숫자열이..
2022.08.13