전체 글 27

python) Hello, World!

예전에 SNS에서 영상을 보다가 파이썬으로 Hello, World!를 A에서부터 시작하여 .. Hello, Wb Hello, Wc Hello, Wd Hello, We .... Hello, Worlc!, Hello, World!까지 출력하는 코드를 보고 짜고 싶다고 생각만 했었는데 한번 짜보고 싶어서 만들었고 글을 쓰게 되었다.코드는 이렇게 된다.string="Hello, World!"result=""for i in range(len(string)): if string[i] in " ,!": result += string[i] print(result) continue x='A' if string[i].isupper() else 'a' while ord(..

coding etc 2024.11.21

C) scanf함수에 대해 자세히 파헤쳐 보자

문자열을 받기 위해서는 대표적으로 C에서는 scanf함수, C++에서는 cin함수, python에서는 input함수 등이 있다.사용자가 입력한 값을 받는 것은 결국에는  문자열 형태로 전달되기에 이를 쪼개서 형식에 맞게 내가 int로 선언한 변수이면 이를 int로 변환시키는 과정이 입력 함수가 하는 일이다. 현재 scanf함수의 경우 Visual Studio에서는 보안 문제로 scanf_s를 대신 써야하거나#define _CRT_SECURE_NO_WARNINGS 또는 #pragma warnings(disable: 4996)를 #include 헤더 파일 위에 적어야 오류 메시지를 넘기기도 한 상태로 조금 버려진 상태이지만 한번 분석해보는 것도 나쁘지 않을 것이라 생각한다. int scanf(    cons..

C study 2024.11.20

C++) 백준 2161, 카드1

문제 링크https://www.acmicpc.net/problem/2161 문제 내용카드에 1~n까지 쓰여있는 카드 n장이 있다.1. 가장 위의 카드를 버린다.2. 그 다음 위에 있는 카드를 맨 밑으로 넣는다.규칙 1, 2를 반복하고 출력으로 버려지는 카드를 순서대로 출력하고, 마지막에 남는 카드까지 출력한다. 코드#include//2161, 카드1#includeusing namespace std;queueq;int n;int main() { ios::sync_with_stdio(0); cin.tie(0);cout.tie(0); cin>>n; for (int i = 1; i   풀이 및 분석이 문제를 큐를 사용해야하며, 큐를 사용하기 위해서는 #include를 사용 또는 #inclu..

BOJ/data structure 2024.11.18

C++) 백준 4659, 비밀번호 발음하기

문제 링크https://www.acmicpc.net/problem/4659  문제 내용매 입력은 문자열이며 길이는 20이하다, end가 입력되면 끝낸다.1. 모음(a,e,i,o,u) 하나를 반드시 포함하여야 한다. 2. 모음이 3개 혹은 자음이 3개 연속으로 오면 안 된다. 3. 같은 글자가 연속적으로 두번 오면 안되나, ee 와 oo는 허용한다.이 규칙들이 지켜질 시에 is acceptable,지켜지지 않을 시에 is not acceptable라고 출력한다. 코드#include//4659, 비밀번호 발음하기#includeusing namespace std;string s;bool mo(string k) { for (unsigned short i = 0; i = 3) ..

BOJ/string 2024.11.16

python) global 키워드와 nonlocal 키워드

python은 기본적으로 변수를 선언하면 전역변수(global variable)가 된다.그렇기에 함수 안에 변수를 선언하면 지역변수(Local variable)가 된다. 이 글은 python에서 전역 변수를 함수안에서 사용하는 방법에 대한 글이다. c=18def f(a,b): return a+b+cdef main(): print(f(6,12)) print(c)if __name__=='__main__': main()#output:#36#18 위의 코드와 같이 전역 변수로 선언한 변수를 다른 함수에 사용한다고 한다고 하면 그냥 그 전역 변수를 함수에 쓰면 된다.  c=18def f(a,b): global c c+=1 return a+b+cdef main(): pri..

python study 2024.11.12

C/C++) Data Type 관련된 착각

데이터 타입에 따라 그 데이터 타입으로 선언된 변수는 특정 메모리 크기를 가진다.예로 int는 4byte, double은 8byte와 같이 말이다. bool의 경우 (c언어의 경우 #include가 필요하다.) 1byte를 가지지만 넣을 수 있는 값은 0(false), 1(true)뿐이다.하지만 char 또한 1byte를 가지지만, 0~255의 값을 넣을 수 있다. 따라서 나중에 또 변수를 쓴다면 char으로도 쓸 수 있는 면으로 봤을 때 true, false의 값만 가질 수 있지만 1byte를 가지는 bool를 사용하는것 보다는 char를 쓰는 것이 더 좋은 방도가 될 수 있다.  또한 int는 4byte를 가지고 범위는 -2,147,483,648~2,147,483,647이다.하지만 long은 4 by..

C study 2024.11.11

C/C++) Tips & Tricks 1.변수 선언

C언어 사용시 입력 받는 변수가 아니라면 모두 따로 0이라던지 1,NULL등으로 초기화하는 것이 필수적이다. 처음에 변수를 선언할 때 초기화하는 것은 중요한 것이다. 초기화하지 않으면 쓰레값이 들어가기 때문이다.(변수 선언 시에 이전에 사용한 메모리로 인해 아무런 의미 없는 값들이 들어가 있을 수 있다.)변수를 선언할 때에온라인 에디터 등에서는 따로 변수를 초기화 할 필요는 없다.잠깐 쓰는 GDB(온라인 에디터)와 같은 경우 처음에 변수를 초기화하지 않아도 코드를 실행할 수 있다.하지만 Visual Studio 2022 등에서는 입력받을 변수가 아닐 때 따로 초기화하지 않으면 변수를 초기화하지 않았다며 코드가 실행하지 않는다.#define _CRT_SECURE_NO_WARNINGS#include int ..