본문 바로가기

All183

벡터 (vector) 벡터(std::vector)는 동적 배열 구조를 C++로 구현한 것이다. 이것은 C의 배열(빠른 랜덤 접근이 가능한)처럼 행동하지만 자동으로 배열의 크기 조절과 객체의 추가와 삭제가 가능하다. 벡터는 C++ 표준 템플릿 라이브러리 중의 하나인 템플릿 클래스이다. 어떤 타입이라도 저장할 수 있지만, 한 번에 한 타입만 저장이 가능하다. 요소에 접근하거나, 앞 또는 뒤에 요소를 추가하거나 삭제할 수 있고 크기를 알 수 있는 멤버 함수를 제공하고 있다. C++의 배열은 메모리에서 연속적이다. 이것은 하나의 타입을 가지는 블록이 여러 개가 붙어 있는 것처럼 생각할 수 있다. 배열의 모든 요소는 같은 타입을 가져야만 한다. 벡터는 배열과 비슷하지만 확장된 기능을 가지고 있다. 벡터의 특징 중 하나는 at()이란 .. 2023. 6. 17.
컨트롤 제트 - 관련 사이트: https://school.programmers.co.kr/learn/courses/30/lessons/120853 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 입력된 문자열에 있는 숫자를 차례대로 더하되, 'Z'가 나오면 바로 전에 더한 수를 빼는 문제이다. 입력 받은 문자열을 하나씩 확인하며 계산해주었다. 1) 전체 문자열 입력 받음 2) 공백(' ')을 기준으로 split 후 vector에 저장 3) vectror에 저장된 문자열 확인 3-1) 'Z'인 경우, 결과값에서 임시 저장된 값만큼 빼기: answer -= tmp 3-2).. 2023. 6. 15.
연산자 프로그래밍 언어는 일반적으로 수학 연산과 유사한 연산자의 집합을 지원한다. 언어는 내장된 연산자의 정해진 숫자를 포함할 수 있다 (C와 C++에서 + - * = 연산자의 경우), 아니면 프로그래머가 정의한 연산자의 생성을 허용할 수 있다 (하스켈의 경우). 일부 프로그래밍 언어는 다른 div와 같은 이름도 허용하는 동안 특수 문자 + 또는 :=과 같은 연산자 기호를 제한한다 (파스칼의 경우). 언어의 사양은 우선순위와 그것이 지원하는 연산자의 결합법칙을 지정한다. 프로그래머가 정의된 연산자를 지원하는 언어는 새로운 연산자의 기호 (예: 프롤로그)의 우선순위와 결합법칙의 사양이 필요하다. 대부분의 프로그래밍 언어 연산자는 몇몇 많은 피연산자 (예: C에서 ?: 연산자) 지원과 함께, 하나 또는 두 개의 피.. 2023. 6. 15.
1436번: 영화감독 숌 - 관련 사이트: https://www.acmicpc.net/problem/1436 1436번: 영화감독 숌 666은 종말을 나타내는 수라고 한다. 따라서, 많은 블록버스터 영화에서는 666이 들어간 제목을 많이 사용한다. 영화감독 숌은 세상의 종말 이라는 시리즈 영화의 감독이다. 조지 루카스는 스타워 www.acmicpc.net 666이 들어있는 숫자를 가장 작은 수부터 카운팅 하는 문제이다. (예: 첫번째 수 = 666, 두번째 수 = 1666, 6번째 수 = 5666, 187번째 수 = 66666) 하나씩 숫자를 증가시키면서 직접 카운팅해주었다. 1) 첫번째 수 666부터 시작 2) 다음 숫자가 연속으로 6이 세번 들어있는 숫자인지 확인: check(num++) 2-1) 마지막 숫자가 6인 경우, .. 2023. 6. 15.
1018번: 체스판 다시 칠하기 - 관련 사이트: https://www.acmicpc.net/problem/1018 1018번: 체스판 다시 칠하기 첫째 줄에 N과 M이 주어진다. N과 M은 8보다 크거나 같고, 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 보드의 각 행의 상태가 주어진다. B는 검은색이며, W는 흰색이다. www.acmicpc.net 하나씩 모두 비교하여 가장 최솟값을 구하였다. 1) (0, 0) 위치부터 시작 지점을 정하고 8 x 8 씩 잘라서 비교 (예: 8 x 10인 경우, 시작 지점은 각각 (0, 0), (0, 1), (0, 2)가 된다.) 2) 시작 지점이 'B' 인 경우와 'W' 인 경우 각각 계산 3) 좌표 x, y가 짝수/홀수인지 확인하여 1)과 2) 에 대해 교체 필요한 개수 카운팅 4.. 2023. 6. 14.