[Python] 백준/BOJ - 2675번: 문자열 반복
·
Algorithm/Problem Solving
https://www.acmicpc.net/problem/2675 2675번: 문자열 반복 문자열 S를 입력받은 후에, 각 문자를 R번 반복해 새 문자열 P를 만든 후 출력하는 프로그램을 작성하시오. 즉, 첫 번째 문자를 R번 반복하고, 두 번째 문자를 R번 반복하는 식으로 P를 만들면 된다 www.acmicpc.net 문제 문자열 S를 입력받은 후에, 각 문자를 R번 반복해 새 문자열 P를 만든 후 출력하는 프로그램을 작성하시오. 즉, 첫 번째 문자를 R번 반복하고, 두 번째 문자를 R번 반복하는 식으로 P를 만들면 된다. S에는 QR Code "alphanumeric" 문자만 들어있다. QR Code "alphanumeric" 문자는 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ\..
번들러(Bundler)와 트랜스파일러(Transpiler)
·
FE
🤔 번들러(Bundler)를 사용해야 하는 이유 초기의 웹 페이지와 서비스들의 규모는 그렇게 크지 않았다. 때문에 이를 구성하는 HTML이나 자바스크립트 파일의 크기도 상대적으로 작았고, 해당 서비스를 유지하는데 큰 무리가 없었다. 그러나 기술의 발전으로 컴퓨터 성능이 좋아지고, 네트워크 속도도 빨라지면서 웹 애플리케이션의 규모 또한 커져갔다. 이로 인해 파일의 양은 점차 늘어났고, 그에 따라 다양한 문제를 야기하였다. 1. 중복된 이름으로 인한 에러 대규모 웹 페이지의 경우 수 백, 수 천개의 자바스크립트 파일이 있고 여러 사람들이 관리하다보니 함수명, 변수명을 똑같이 짓는 경우가 생겨 예상치 못한 에러가 발생할 수 있다. 2. 파일로 인한 문제 사용자가 요청을 하면 서버는 웹 애플리케이션을 구성하는 ..
[Python] 백준/BOJ - 7568번: 덩치
·
Algorithm/Problem Solving
https://www.acmicpc.net/problem/7568 7568번: 덩치 우리는 사람의 덩치를 키와 몸무게, 이 두 개의 값으로 표현하여 그 등수를 매겨보려고 한다. 어떤 사람의 몸무게가 x kg이고 키가 y cm라면 이 사람의 덩치는 (x, y)로 표시된다. 두 사람 A 와 B의 덩 www.acmicpc.net 문제 사람의 덩치를 키와 몸무게, 이 두 개의 값으로 표현해 등수를 매겨보려고 한다. 어떤 사람의 몸무게가 x kg이고 키가 y cm이라면 이 사람의 덩치는 (x, y)로 표시된다. 두 사람 A와 B의 덩치가 각각 (x, y), (p, q)라고 할 때 x > p 그리고 y > q 이라면 우리는 A의 덩치가 B의 덩치보다 "더 크다"고 말한다. N명의 집단에서 각 사람의 덩치 등수는 자..
[엘리스 AI 트랙 4기] 첫 번째 웹 프로젝트 회고
·
Education/Elice AI Track
드디어 짧다면 짧고, 길다면 길게 느껴졌던 2주간의 웹 프로젝트 기간이 끝났다. 처음에는 2주가 짧을 것이라고 생각했는데 매일 팀원들과 아침 저녁으로 모여서 회의하고, 밤낮 구분없이 계속 개발을 하다보니 정말 길게 느껴졌던 것같다. About Project 이번에 진행한 프로젝트의 주제는 포트폴리오 공유 사이트를 만드는 것이었다. (이 후에 진행되는 프로젝트는 기획부터 직접해야하는 것으로 알고 있는데, 이번 프로젝트는 주제, 기본으로 구현해야 하는 기능은 정해주셨다.) 기본 기능은 학력, 수상이력, 프로젝트, 자격증 항목을 추가할 수 있는 mvp를 구현하는 것이었고 나머지 추가 기능은 각 팀마다 원하는 기능을 추가하였다. 우리 팀은 포트폴리오 항목 삭제, 다른 사람의 포트폴리오 좋아요, 방명록, 팔로우,..
[Python] 백준/BOJ - 5622번: 다이얼
·
Algorithm/Problem Solving
https://www.acmicpc.net/problem/5622 5622번: 다이얼 첫째 줄에 알파벳 대문자로 이루어진 단어가 주어진다. 단어의 길이는 2보다 크거나 같고, 15보다 작거나 같다. www.acmicpc.net 문제 입력 첫째 줄에 알파벳 대문자로 이루어진 단어가 주어진다. 단어의 길이는 2보다 크거나 같고, 15보다 작거나 같다. 출력 첫째 줄에 다이얼을 걸기 위해서 필요한 최소 시간을 출력한다. 예제 입력 1 WA 예제 출력 1 13 풀이 input_str = input() total = 0 dials = ['C', 'F', 'I', 'L', 'O', 'S', 'V', 'Z'] for s in input_str: for i in range(len(dials) - 1): if s
[Python] 백준/BOJ - 11721번: 열 개씩 끊어 출력하기
·
Algorithm/Problem Solving
https://www.acmicpc.net/problem/11721 11721번: 열 개씩 끊어 출력하기 첫째 줄에 단어가 주어진다. 단어는 알파벳 소문자와 대문자로만 이루어져 있으며, 길이는 100을 넘지 않는다. 길이가 0인 단어는 주어지지 않는다. www.acmicpc.net 문제 알파벳 소문자와 대문자로만 이루어진 길이가 N인 단어가 주어진다. 한 줄에 10글자씩 끊어서 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 단어가 주어진다. 단어는 알파벳 소문자와 대문자로만 이루어져 있으며, 길이는 100을 넘지 않는다. 길이가 0인 단어는 주어지지 않는다. 출력 입력으로 주어진 단어를 열 개씩 끊어서 한 줄에 하나씩 출력한다. 단어의 길이가 10의 배수가 아닌 경우에는 마지막 줄에는 10개 미만의 글..
[Python] 백준/BOJ - 1316번: 그룹 단어 체커
·
Algorithm/Problem Solving
https://www.acmicpc.net/problem/1316 1316번: 그룹 단어 체커 그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. 예를 들면, ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때 www.acmicpc.net 문제 그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. 예를 들면, ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때문에 그룹 단어이지만, aabbbccb는 b가 떨어져서 나타나기 때문에 그룹 단어가 아니다. 단어 N개를 입력으로 받아 그룹 단어의 개수를 출..
[네트워크] TCP와 UDP에 대해 알아보자
·
Network
네트워크의 계층들 중 전송 계층(Transport Layer)에서 사용하는 프로토콜에 대해서 알아보자. TCP(Transmission Control Protocol) TCP는 연결 지향적 프로토콜이다. 이는 클라이언트와 서버가 연결된 상태에서 데이터를 주고받는 프로토콜을 의미한다. 클라이언트가 연결 요청을 하고, 서버가 연결을 수락하면 통신 선로가 고정되고, 모든 데이터는 고정된 통신 선로를 통해 순차적으로 전달된다. 그렇기 때문에 TCP는 데이터를 정확하고 안정적으로 전달할 수 있다. TCP는 호스트간 신뢰성 있는 데이터 전달과 흐름제어를 한다. TCP 프로토콜은 신뢰성 있는 데이터의 전송을 위해 확인 작업을 거치는데, 패킷을 성공적으로 전송하면 ACK라는 신호를 날리고 만약에 ACK 신호가 제 시간에..
[JS] ES6의 특징 (2) - 템플릿 리터럴, 반복자, for ... of
·
FE/Javascript
const and let Arrow functions(화살표 함수) Template Literals(템플릿 리터럴) Default parameters(기본 매개 변수) Array and object destructing(배열 및 객체 비구조화) Import and export(가져오기 및 내보내기) Promises(프로미스) Rest parameter and Spread Operator(나머지 매개 변수 및 확산 연산자) Classes(클래스) Generator(생성자) Iterator(반복자) 템플릿 리터럴(Template literals) 복잡한 문자열을 쉽게 만들어주는 장치로 문자열 안에 문자열 및 변수를 넣을 수 있다. 기존 문자열 출력 시 변수와 함께 출력하려면 아래와 코드와 같이 따옴표(', ..
[JS] ES6의 특징 (1) - const와 let, 화살표 함수
·
FE/Javascript
ES6(ECMAScript 2015)는 ECMAScript 표준의 최신 버전이다. ES6는 새로운 언어 기능이 포함된 주요 업데이트이며, 2009년에 표준화된 ES5 이후로 언어 기능에 대한 첫 업데이트이기도 하다. ES5 이하 명세에서 문제가 되었던 부분들이 해결되었고 많은 기능들이 추가되었다. 이는 가독성과 유지보수성 향상으로 이어졌다. React나 Vue 등의 라이브러리들도 이에 맞춰 개발 환경을 ES6로 바꾸게 되었고 이러한 이유로 인해 우리는 ES6에 주목하고 관심을 갖게 되었다. ES6는 아래의 새로운 기능들을 포함하고 있다. const and let Arrow functions(화살표 함수) Template Literals(템플릿 리터럴) Default parameters(기본 매개 변수) ..