본문 바로가기

개발 노트237

[프로그래머스 1 / c++] 비밀 지도 처음 설계는 n개 자리의 2진수를 구해서 그 이진수의 1과 0을 각각 기호로 바꿔준다는 로직이었는데... c++은 의외로 2진수를 나타내기가 힘들었다. 2진수를 구해서 나타내려고 해도 상수가 아닌 n의 자리 까지의 2진수를 구하는 방법은 찾기 힘들었다. 이진수를 bitset 이라는 함수를 이용해서 나타낼 수 있다고 하여 열심히 해보았지만 자리수가 상수여야 가능하지 변수로 주어지면 런타임 에러가 났다. 어떻게 방법을 찾느라 몇시간째 찾아보았지만 결국은 포기... 그냥 나눌때마다 나오는 나머지 값을 기호로 바꾸어 string에 붙여주어 만들면 쉽게 풀리는 문제였다 c++ 에서 2진수로 변환은 생각보다 까다로운 것 같다... 일단은 쉽게 생각하자 그래야 풀수있는게 많다! #include using namesp.. 2022. 6. 22.
[프로그래머스 1 / c++] 다트 게임 문제의 룰이 길어서 난해하지만, 룰 자체는 복잡하지 않은 문제였다 하지만 구현이 아직 약해서 생각을 코드로 풀이하기가 쉽지 않았다 while (idx 2022. 6. 22.
stringstream 문자열 입력 버퍼, 자료형이 섞인 string 을 다룰때 사용 strigstream 은 여러 자료형이 섞여있는 string 을 입력 받을 때에 필요한 자료형에 맞는 데이터를 꺼낼때 유용하다 다음은 stringstream 을 사용해서 입력된 string 에서 공백 단위로 잘라 벡터에 푸쉬, 인덱스 추가 하는 문제이다 ' : ' 기호를 공백으로 바꾸어 stringstream 버퍼에 저장된 입력 데이터 가공하고 공백을 통해 분리해서 분리된 입력 요소를 num으로 받아 로 벡터에 push_back하여 저장하고, 인덱스로 꺼내 쓸 수 있다 #include using namespace std; int main(){ vector time; string clock="2022:06:22 15:15:30"; for(int i=0; i>num){ time.push_back(num); .. 2022. 6. 22.
연습) string 에서 숫자 추출하기 string 의 문자열에서 숫자만 골라서 추출, 하나의 숫자로 붙여 만들고 그 약수를 구하는 문제 아스키 코드를 이용해서 쉽게 문제를 풀었지만, 더 편한 방법을 찾고 싶다 흠... #include using namespace std; int main(){ string a; int num = 0; int div = 0; cin >> a; for(int i=0; i47 && a[i] 2022. 6. 22.