# ASCII

[코드트리 챌린지] 1주차_2차원 배열에 고통받는 사람
블로그 챌린지 신청 해 놓고 마감 기한이 다가오는 오늘에서야 올리는 1주차 학습 기록 인증! 우선은 실력 진단 결과로 글을 시작 해 보려고 한다. 다른 문제들은 다 풀었는데 여전히 2차원 배열에 대한 개념은 이해가 잘 되지 않아 힘들었고, 문제를 보자마자 막막해져서 이 문제만 계속 포기 버튼을 눌렀다. 이번 주말을 이용해 따로 정리할 생각이었는데 주말에 신나게 늘어져 버린 관계로 정리 타이밍을 놓쳐 버렸는데, 어떻게 무식하게 풀다가 보니 Novice Low 단계는 이미 다 끝내고 지금 Novice Mid 단계에 진입한 게 놀라울 따름.. 만을 사용하기 때문에, 크기 26(알파벳 26개다... 멍청하게 직접 계산하지말자 이제...)짜리 Int 배열을 만들어서 접근 문자열의 덧셈 위와같이 덧셈 가능하다. 파이썬에서 지원해주는 부분인데 CPP 에서도 가능하다! 문제 Source #include #include #include #include using namespace std; int N; string s, ans; map m; // 사실 첫 글자만 사용하는 부분이니, 그냥 cnt[] 배열로 진행해도 무방했다! int main(){ //N번 반복 cin >> N; for(int i =0; i < N; i++){ //
BOJ - 10808 : 알파벳 개수
https://www.acmicpc.net/problem/10808 couting 문제 접근법 1) 배열로 접근 숫자로 들어오는 경우 배열로 접근 하는 것이 좋음 단, 1000만이 넘는 경우 배열이 sparse하게 사용되는 경우 위의 경우에는 map으로 접근 2) Map으로 접근 문자열로 들어오는 경우 Map으로 하는 것이 유리! 3) 자동 형변환...? 문자열을 int 배열에 집어 넣으면 알아서 ASCII로 저장됨.. 정확한 원리는 더 알아 봐야할듯! ASCII A = 65, a = 97 이정도는 외워주자! 문제 코드
CPP ASCII code 다루기
링크 : https://velog.io/@neity16/C-%ED%98%95-%EB%B3%80%ED%99%98-%EC%A0%95%EB%A6%AC

CS50 2019 [1] 컴퓨팅 사고
이 강의는 네이버 부스트코스에서 제공하는 하버드 대학의 프로그래밍 기초 강의입니다. 컴퓨터 과학이란? : 문제 해결에 대한 학문이다. 문제 해결은 input을 받아 output을 만들어내는 것을 말한다. 이를 위해서는 input과 output을 표현하는 방법에 대한 약속이 우선시되어야 한다. 컴퓨터에서 이를 표현하는 방법은 2진법이다. 2진법 우리가 일상에서 사용하는 숫자 체계는 10진법이다.(0~9까지) 그러나 컴퓨터는 0과 1로만 데이터를 표현할 수 있고, 이와 같이 0과 1로만 표현하는 방법을 2진법이라고 한다. 123이라는 숫자가 주어질때 우리는 자연스럽게 '백이십삼' 이라고 읽는다. 이렇게 인식하는 이유는 1을 백의 자리 숫자로 인식하고 2는 십의 자리, 3은 일의 자리로 인식하기 때문이다. 이를 식으로 표현하면 100 x 1 + 10 x 2 + 1 x 3 과 같다. 우리가 이렇게 받아들이는 이유는 각 자리

JAVA 시작하기 - 자료형의 종류 (문자형)
문자 자료형 컴퓨터는 0과 1로 표현하는데 문자 역시 컴퓨터 내부에서 표현할 때 0과 1의 조합으로 나타내야 한다. 예로 A를 얼마로 표현할 것인지 약속을 하는데 이런 코드 값을 모아 둔 것을 '문자 세트'라 한다. 이 때 문자를 정해진 코드 값으로 변환하는 것을 문자 인코딩(encoding)이라 하며 반대는 문자 디코딩(decoding)이라 한다. 문자 인코딩의 종류 1. 아스키(ASCII) 가장 기본이 되는 문자 인코딩으로 영문자, 숫자, 특수 문자등을 나타내는 문자 세트이다. 1바이트(2⁸=256개)만 사용하며, 한글 또는 다른 언어 문자는 표현하기 어렵다. 2. 유니코드(unicode) 아스키에서 표현이 어려운 언어를 2바이트를 사용하여 표현하는데 이 때 각 언어의 표준 인코딩을 정의해놓은 것으로 1바이트는 아스키 코드 값과 호환되고, 그 밖의 문자를 2바이트나 그 이상의 조합으로 표현한다. 자바의 문자 표현

2023-05-15 월요일
📅 오늘 한 일 1. Better UI 작업 ✏️ 무엇을 배웠나 1. decodeURIComponent() next.js에서 동적 라우팅을 사용해 url 파라미터를 앱 내부로 가져와야 했다. 공식 문서를 보고 구현해보니 이렇게 됐다. URL : localhost:3000/workout/가슴 ??? 문제 : 한글이 이상한 문자로 변환되서 나온다 원인 : URL 인코딩이 일어났기 때문임. URL 인코딩 과정에서 한국어가 16진수로 변환되기 때문에 한국어 '가슴'이 위에 문자열로 변환된 것. 해결 : 다시 디코딩하면 된다. 자바스크립트에서 decodeURIComponent() 함수를 사용하면 된다.  16bit로 character를 mapping한다. Text Compression keyword encoding 많이 사용되는 단어를 *&%와 같은 사용되지 않는 하나의 문자로 mapping하여 전달해야하는 문자의 양을 압축한다. the = % that = $ 등으로 mapping한다. "the that" = "% $" compression ratio = 3/8
BOJ_10808_알파벳 개수
_이 글은 공부하면서 정리한 '학생'의 글입니다. 따라서, 틀린 부분이 있을 수 있음을 명시합니다. 혹시 틀린 부분이 보이시거나, 추가로 알려주실 수 있으신 분이 계시다면 언제든 환영이니 댓글 달아주세요:)_ 문제 출처 : https://www.acmicpc.net/problem/10808 > 접근방법 아스키코드를 활용하여 배열의 인덱스에 넣고자함 카운팅 정렬을 이용한 풀이 시간 복잡도 : O(N) - N은 주어지는 문자열 길이 cf) 참고로 기억해야할 부분 아스키코드: A(65), a(97)
[프로그래머스] JS - 시저암호(ASCII)
프로그래머스 - 시저 암호 문제 설명 어떤 문장의 각 알파벳을 일정한 거리만큼 밀어서 다른 알파벳으로 바꾸는 암호화 방식을 시저 암호라고 합니다. 예를 들어 "AB"는 1만큼 밀면 "BC"가 되고, 3만큼 밀면 "DE"가 됩니다. "z"는 1만큼 밀면 "a"가 됩니다. 문자열 s와 거리 n을 입력받아 s를 n만큼 민 암호문을 만드는 함수, solution을 완성해 보세요. 제한 조건 공백은 아무리 밀어도 공백입니다. s는 알파벳 소문자, 대문자, 공백으로만 이루어져 있습니다. s의 길이는 8000이하입니다. n은 1 이상, 25이하인 자연수입니다. 입출력 예 | s | n | result | | --- | --- | --- | | "AB" | 1 | "BC" | | "z" | 1 | "a" | | "a B z"
비트와 바이트 문자 인코딩
movie 컴퓨터는 정보처리를 할 때 0과 1의 조화로 이루어진 이진법을 사용 그중 가장 작은 단위가 비트(bit) [신호off(0) / 신호on(1)] 이걸 묶어서 여러정보를 저장할 수 있음. 문자코드는 ASCII코드와 Unicode가 있는데 ASCII코드는 영어만 표현 가능하고 각각 1바이트로 나타낼 수 있지만 Unicord는 여러 국가 다양한 용량으로 나타낼 수 있다. (한글도 사용가능) **8bits = 1Byte 1024Byte = 1KB 1024KB = 1MB 1024MG = 1GB 1024GB = 1TB ...** UTF-8(Unicode Transformation Format(8bit)) - 가변길이 유니코드 인코딩 아스키코드와 유니코드를 전부 나타낼 수 있는 공용 문
[BUG][python]UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128) 에러 해결
Error > UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128) 문제 상황 import datasets 의 datasets 내부의 영어 text를 한국어 text로 번역하고자 했음 사용한 라이브러리: pororo 이를 위해 한 문장씩 번역을 돌리려고 했지만 pororo가 pytorch=1.6.0버전만 지원하고 현재 내가 사용하는 pytorch의 버전은 1.13.0이었음. 그러나 토치 버전을 downgrade하기엔 다른 버전들과 dependency가 걱정되었음 따라서 다른 가상환경에 pororo를 설치하고 .txt파일에 번역된 text를 저장해둔 다음 현재 사용하고 있는 가상환경에서 .txt파일을 불러오도록 설계했음. 😥문제 원

[230125] 멋쟁이사자처럼 AI SCHOOL 8기 [특강] SQL_이범재강사님' 복습
📝Today I learned 🚀 TIL 목차 🚀 >- 함수 숫자 함수 \- 문자열 함수 \- 날짜&시간 함수 >- 예제 오답노트 [특강] SQL 기초 1) 함수 숫자 함수 🔹 ROUND 🌟🌟🌟 : 해당 항목 레코드의 숫자를 반올림하여 출력하는 함수 . 🔹 TRUNC : 해당 항목 레코드의 숫자를 내림하여 출력하는 함수 . 🔹 MOD 🌟 : 해당 항목 레코드의 숫자를 나누기하여 나머지를 출력하는 함수 . 🔹 POWER : 해당 항목 레코드의 숫자를 제곱하여 출력하는 함수 . 🔹 SQRT : 해당 항목 레코드의 제곱근을 출력하는 함수 . . 문자열 함수 🔹 SUBSTR 🌟🌟🌟 : 문자열의 일부만 출력 : 문자열 인덱스 → 1부터 시작 . 🔹 LEFT 🌟🌟 : 문자열을 왼쪽에서 얼만큼 자를 지 설

콘솔에 찍고 싶은 아스키아트 모음
⚠ 관종 개발자는 콘솔에 자아표출을 한다 아스키아트 오로지 텍스트와 특수문자만을 조합하여 사진이나 그림을 흉내내는 것을 말한다. 텍스트로만 이루어진 밈들 대부분이 그렇듯 처음 시작이 누구였는지는 아무도 모른다. 줄여서 AA라고도 부른다. 출처 : 갓무위키 0. figlet 원하는 문구를 아래와 같이 찍고 싶으면 Nodejs figlet 라이브러리를 사용한다. 하지만 ˗ˋˏ 관종 개발자 ˎˊ˗ 는 이걸로는 만족이 안되지.. Y2K 느낌 낭낭한 아스키아트를 사용해보자.. 1. 에러형 2. 킹받아형 3. 홍보형 4. 별생각없음형 > ref : snskeyboard.com
[Today I Learned] 1월 1주차 day1
문자열 내림차순으로 배치하기 #lv1 , #programmers 문제 설명 문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요. s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 간주합니다. 풀이 문제를 읽어보고 이거는 딱 ASCII코드를 이용해서 풀어야겠다는 생각이 들었다. 밑에는 ASCII 코드 표이다. js에는 문자열을 아스키코드 번호로 변환해 주는 메서드가 있다. 바로 charCodeAt
파이썬 심화(파일 입/출력)
파일 입/출력 읽기/쓰기와 인코딩 file = open() : 파일 열기 file = read() : 파일 읽기 file = write() : 파일 쓰기 file = close() : 파일 닫기 open() open(파일의 경로, 파일 열기 방식, 인코딩 방식) 파일 열기 방식 'r' : 읽기용 'w' : 쓰기용(이미 파일이 존재하면 파일 내용을 지워버림) 'a' : 쓰기용으로 열기(파일이 존재할 경우 내용 덧붙이기) ASCII, 아스키코드 미국 정보 교환 표준 부호 7비트만을 이용하여 음이아닌 수(0~127)에 문자를 할당 유니코드 문자 집합 하나로 모든 문자를 표현할 수 있게 하는 것이 목적 초기에는 전세계의 언어별 문자들을 2바이트 안에서 영역을 나눠 할당 누락된 문자와 기호를 계속 추가하다 보니 2바이트를 넘어서게 됨 UTF 유니코드 변환 인코딩 형식 UTF-8

찬찬히 살펴보기#3 MSA-1
1) > Monolithic과 MSA 구조의 가장 큰 차이는 api gatewateway 통한 '블랙박스화'같다. 각각의 서비스는 api를 갖고, api gateway와 통신한다. 다른 관점에서 웹 서버 분산에 따른 데이터베이스 분산이 동반되는 '느슨한 결합'이라고 생각한다. 이는 유연성, 신뢰성, 효율성, 리스크 관리에서의 이득이로 이어진다. >> 특히 배포 및 업데이트 단계에서 monolithic 구조는 binary 파일을 만들어 배포하고, 문제가 생기면 수정하는데 반해, MSA 구조는 blue-green 방식에서 blue가 롤백을 가능하도록 한다고 한다. >>> Binary 파일은 텍스트 파일가 대비되게 데이터를 (문자가 아닌) 데이터 그 자체로 저장한다고 이해된다. 프로그램 배포에서 소스 코드가 아닌 실행 코드가 이에 해당한다. Binary 파일을 텍스트 파일로 변환할 때 사용되는 게 각각 64/128진법을 따르는 base64/ASCII 인코딩 방식인데, 모든 binary 데
문자열 인코딩
문자열 인코딩 문자열 인코딩 : 2진법을 사용하는 컴퓨터가 인간의 언어를 일정한 규칙에 따라 2진수로 변환하는 방식 컴퓨터는 인간이 만든 2진수와 문자를 1:1 대응하는 규칙을 통해 2진수로 문자를 처리함 예. ASCII, EUC-KR, UTF-8, UTF-16, UTF-32 2진수 01000001을 10진수로 읽으면 65가 되지만, 아스키 코드로 읽으면 문자 A가 됨 파이썬 format() 함수를 활용하면 2진수를 다른 진수 및 문자열로 표현 할 수 있음 아스크 코드 아스키코드는 처음으로 표준을 정립한 문자열 인코딩 방식 여전히 많이 사용 대문자, 소문자, 아라비ㅏ숫자, 공백, 특수문자 0 ~ 127개, 총 128개의 숫자를 사용 hello 문자열을 아스키 코드로 출력 EUC-KR 대한민국에서는 컴퓨터로 한글을 표현하는 방법으로 EUC-KR 문자 집합을 만듬 한국 산업 표준(Korean In
[Programmers] 시저 암호
I. 시저 암호 >https://school.programmers.co.kr/learn/courses/30/lessons/12926 1. 문제 설명 어떤 문장의 각 알파벳을 일정한 거리만큼 밀어서 다른 알파벳으로 바꾸는 암호화 방식을 시저 암호라고 합니다. 예를 들어 "AB"는 1만큼 밀면 "BC"가 되고, 3만큼 밀면 "DE"가 됩니다. "z"는 1만큼 밀면 "a"가 됩니다. 문자열 s와 거리 n을 입력받아 s를 n만큼 민 암호문을 만드는 함수, solution을 완성해 보세요. 2. 제한 사항 공백은 아무리 밀어도 공백입니다. s는 알파벳 소문자, 대문자, 공백으로만 이루어져 있습니다. s의 길이는 8000이하입니다. n은 1 이상, 25이하인 자연수입니다. 3. 풀이 메소드 없이, ASCII 코드만 활용해 풀어보고자 했다. 결론적으로, 다음과 같이 진행했다. String을 에 저장한다. 각 index가 대문자(65~90

[프로그래머스]-시저 암호
아스키 코드 ascii (출처: 나무위키) 문제를 풀기 위한 핵심 아이디어 로직은 아래와 같이 설계했다. 문자열의 각 원소를 돌면서 n을 더한다 해당 문자열이 소문자인지 대문자인지 판별한다 소문자라면 아스키 코드 90(z) 아래로 올 때까지 26을 계속 빼준다. (왜냐하면 알파벳이 26개니까) 대문자라면 아스키 코드 122(Z) 아래로 올 때까지 26을 계속 빼준다. (같은 이유) 그리고 최종값을 answer에 하나씩 추가해주면 그것이 곧 민 숫자가 된다. CODE