<문자열 돌리기>
#include <iostream>
#include <string>
using namespace std;
int main(void){
string str;
cin >> str;
for(char ch : str) //범위기반 for 문
cout << (char)ch << endl;
return 0;
}
범위 기반 for문(based range for)
for(type element : element_array)
<홀짝 구분하기>
삼항 연산자에 의한 조건문
((조건식) ? 반환값1 : 반환값2)
비트 연산자로 홀짝 구분하기
(n & 1)는 비트 연산입니다. 여기서 사용된 &는 비트와 연산자(bitwise AND)입니다.
이 표현식의 주요 목적은 n의 가장 낮은 비트(least significant bit)를 확인하는 것입니다.
특히, 홀수와 짝수를 구별하는 데 유용합니다.
(n & 1)의 결과가 1이면: n의 가장 낮은 비트는 1입니다. 이것은 n이 홀수임을 나타냅니다.
(n & 1)의 결과가 0이면: n의 가장 낮은 비트는 0입니다. 이것은 n이 짝수임을 나타냅니다.
예:
n = 5의 이진 표현은 101입니다. (5 & 1)는 1이므로 5는 홀수입니다.
n = 6의 이진 표현은 110입니다. (6 & 1)는 0이므로 6는 짝수입니다.
간단히 말해, (n & 1)는 n이 홀수인지 아닌지를 빠르게 판별하는 데 사용될 수 있는 비트 연산 트릭입니다.
<문자열 곂쳐쓰기>
1. replace 사용
#include <string>
#include <vector>
using namespace std;
string solution(string my_string, string overwrite_string, int s) {
string answer = "";
answer=my_string.replace(s, overwrite_string.size(), overwrite_string);
return answer;
}
replace 함수 (문자열 일부 교체)
str.replace(시작, 바꿀 갯수, 덮어쓸 문자열)
2. 한 문자씩 바꾸기
#include <string>
#include <vector>
using namespace std;
string solution(string my_string, string overwrite_string, int s) {
string answer = my_string;
for (int i=0; i<overwrite_string.size(); i++)
{
answer[i+s] = overwrite_string[i];
}
return answer;
}
'대외교육 > 코딩테스트' 카테고리의 다른 글
[C++] vector 주요 멤버함수 (0) | 2023.10.02 |
---|---|
[프로그래머스][C++ 코딩기초트레이닝]DAY3~DAY4 (0) | 2023.10.01 |
[230929][python]프로그래머스 코딩 기초 트레이닝 (day4) (0) | 2023.09.28 |
[230928][python]프로그래머스 코딩 기초 트레이닝 (day1~day3) (0) | 2023.09.28 |
[프로그래머스 특강]1-2. 시뮬레이션 예시 : 청소 로봇(기본) (0) | 2023.08.25 |