전체 글 203

반복문

반복문은 여러번 반복해야하는 코드가 있을 때 사용한다.  예를 들어, 5를 다섯번 출력하고 싶을 때,Console.WriteLine(5);Console.WriteLine(5);Console.WriteLine(5);Console.WriteLine(5);Console.WriteLine(5);이렇게 할 수도 있지만 그 반복횟수가 많아지면 코드를 이런식으로는 작성할 수 없다.  이 때, 반복문을 사용하는데 for 와 while 이 있다.  for(초기화;조건;증감연산){ 반복할 코드}for문은 다음처럼 사용이 가능하다.반복을 하기전, 조건을 확인 후 참이라면 코드 실행후 증감연산을 실행한다. 만약 조건이 거짓이면 반복이 종료된다.  5를 다섯번 출력하고 싶다면for(int a=0;a이렇게 사용하면 된다.  wh..

C# 2025.01.18

조건문

조건문은 특정조건에서 무언가를 해야할 때 사용하는 문법이다.  먼저 if문이다.  if(조건) {}다음과 같이 사용하며 조건이 참이 됐을 때, 대괄호 안의 코드가 실행된다. 그렇다면 조건이 거짓일 때, 실행하고 싶은 코드가 있다면else if(조건){}else{}위 코드처럼 else if를사용해 위쪽 조건이 거짓이더라도 다른 조건으로 다시 참 거짓을 판별하거나 else를 이용해 위 if나 else if 조건이 다 거짓일 때 실행하고 싶은 코드를 추가하면 된다.  코드를 작성하다보면 조건이 아주 복잡해지거나 여러 경우의 수를 다뤄야 하는 경우가 있다. 예를 들어 가위바위보만 해도 9가지의 경우의 수를 다루는데, 이를 전부 if-else 문으로 작성한다면 코드가 아주 복잡해진다.if(가위를 냈을 때){ if..

C# 2025.01.18

연산

C#에서 연산은 다른 프로그래밍 언어에 있는 연산들과 거의 동일하다.  대입연산, 산술연산, 비교연산, 논리연산 등이 있다.  대입연산은 수학에서의 = 기호를 사용한다. int a;a=10;int b;b=a;위 코드처럼 = 기호를 통해 오른쪽의 내용을 왼쪽에 대입할 때, 대입연산(=)을 사용한다.  다음은 산술연산이다. 수학에서의 사칙연산과 나머지연산을 뜻한다. int a,b;a=10; b=3;// a + b => 13// a - b => 7// a * b => 30// a / b => 3 ( 정수와 정수를 나눴기 때문에 소수점이 버려져 3이 저장된다.)// a % b => 1 ( a를 b로 나눈 나머지를 구할 때 사용한다. ) 또 대입연산과 산술연산을 이용해 계산한 값을 어딘가에 저장할 수 있다..

C# 2025.01.18

변수

프로그래밍 언어에서 변수란 int hp=100;위 처럼 특정 형식의 데이터를 저장하고 사용하기 위해 생성하는 것을 말한다.  C#에서 이 변수는 코드가 실행되면 선언은 컴파일타임에,  메모리에 공간이 할당은 런타임에 진행된다.  메모리의 어떤 곳에 hp란 변수에 대한 공간을 할당하고 그 공간을 우리는 hp라는 이름으로 접근이 가능하게 된다.그리고 그 공간에 100이라는 값을 저장하려면 hp= 100 이라 작성하며,공간에 있는 값을 읽어오고 싶다면 hp 라고 접근하면 된다. 이러한 변수는 [데이터 타입] [이름] 형식으로 선언한다. 이 때, 이름은 헷갈리지않고 무슨 값을 위한 것인지 알기 위해 명확히 짓는게 중요하다.  데이터 타입에는 여러가지가 있다.  우선 int 는 정수형 변수를 의미한다. 정수형에도..

C# 2025.01.18

프로그래머스 - 마법의 엘리베이터 - C++

https://school.programmers.co.kr/learn/courses/30/lessons/148653 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr #include using namespace std;int solution(int storey) { int answer = 0; while(storey>0) { int im = storey%10; storey/=10; int next = storey%10; if(im>5||(im==5 && next >= 5)) { ..

프로그래머스 - 디펜스 게임 - C++

https://school.programmers.co.kr/learn/courses/30/lessons/142085 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr #include #include #include using namespace std;int solution(int n, int k, vector enemy) { int answer = 0; priority_queue,greater> pq; int total_damage=0; for(int i=0;ik) { total_damage+=pq.t..

프로그래머스 - 점 찍기 - C++

https://school.programmers.co.kr/learn/courses/30/lessons/140107 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr #include #include #include using namespace std;long long solution(int k, int d) { long long answer = 0; for(int x=0;x 원점부터 k 간격으로 x와 y를 점 찍을 수 있는데, 원점으로의 거리가 d를 넘으면 안된다. 이 때, 몇개의 점을 찍을 수 있는가가 문제이다.  x를 0부터 시작해서 최대 ..

프로그래머스 - 시소 짝꿍 - C++

https://school.programmers.co.kr/learn/courses/30/lessons/152996 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr #include #include #include using namespace std;long long solution(vector weights) { long long answer = 0; unordered_mapum; for (int i = 0; i item : um) { int key = item.first; if (um[key] >= 2) ..

프로그래머스 - 바탕화면정리 - C++

https://school.programmers.co.kr/learn/courses/30/lessons/161990 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr #include #include #include using namespace std;vector solution(vector wallpaper) { vector answer; vectora; vectorb; for(int i=0;i주어진 문자열 벡터를 보고 한번의 드래그로 모든 파일을 선택할 때, 가장 작은 드래그 크기를 만드려면 드래그의 시작좌표와 끝 좌표가 어..

프로그래머스 - 귤 고르기 - C++

https://school.programmers.co.kr/learn/courses/30/lessons/138476 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr #include #include #include #include using namespace std;int solution(int k, vector tangerine) { int answer = 1; unordered_map um; for(int it : tangerine) um[it]++; vector> v; for(auto& it : um) ..