[C++] 표준 입력 함수 정리
2019. 8. 15. 23:14
프로그래밍 언어/C++
입력을 받으면서 공백과 개행문자 관련해서 어떤 입력 함수를 써야하는지 잘 몰라서 정리해보았다. cin #include cin >> ; cin 은 문자와 문자열 모두 입력받을 수 있다. 공백, 개행 문자를 무시한다. cin.get() #include char c; c = cin.get(); cin.get() 은 문자만 입력받을 수 있다. 공백과 개행 문자를 입력받을 수 있다. cin.getline(변수 주소, 길이, 종결 문자) #include char c[10]; cin.getline(c, 10); cin.getline(c, 10 , i); // 종결 문자인 i 를 만나면 종료 cin.getline() 은 문자열만 입력받는다. 공백과 개행 문자를 입력받을 수 있고 공백은 저장하고 개행은 종료하면서 NUL..
C++ AND , OR , XOR 비트 연산자
2019. 8. 15. 22:51
프로그래밍 언어/C++
비트 연산자에는 AND, OR, XOR 뿐만 아니라 LEFT SHIFT, RIGHT SHIFT , NOT 연산자와 같이 많은 연산자들이 있다. 비트 연산자 중에서 AND 연산자와 OR 연산자, XOR 연산자, NOT 연산자를 사용하는 방법에 대해 정리해보았다. AND 연산자 ( A & B ) AND 연산자는 둘 다 '참' 일 경우 1 을 반환한다. 예를 들어 0 & 1 = 0 1 & 1 = 1 #include #include using namespace std; int main(){ int A = 5, B = 15; cout
C++ 문자를 2진수로 출력하기
2019. 8. 15. 22:13
프로그래밍 언어/C++
개념 10진수인 정수를 2진수로 출력하는 방법은 bitset 클래스를 이용한다. #include char bit; bitset (bit); 안에 원하는 비트의 갯수를 입력하고 문자를 입력해주면 해당 문자가 원하는 갯수만큼 2진수로 출력된다. 예시 #include #include using namespace std; int main(){ char num = 10; cout
[백준 알고리즘] 17288번 : 3개만!
2019. 8. 15. 21:31
알고리즘/BaekJoon
문제 17288번 : 3개만! 17288번: 3개만! 0보다 크거나 같고, 9보다 작거나 같은 숫자로 이루어진 문자열 S에서 연속된 세 숫자가 몇 번 등장하는지 출력하라. 단, 네 숫자 이상이 연속일 경우에는 그 일부를 세지 않는다. www.acmicpc.net 내가 작성한 코드 (C++ 성공) #include #include using namespace std; int main(){ char s[101]; cin >> s; string ans = ""; ans += s[0]; int cnt = 0; for(int i=1; i
[백준 알고리즘] 17285번 : XORChic
2019. 8. 15. 21:23
알고리즘/BaekJoon
문제 17285번 : XORChic 17285번: XORChic 첫째 줄에 XOR 연산이 수행된 문자열 T가 주어진다. (10 ≤ T의 길이 ≤ 100) 문자열 T는 인쇄 가능한 문자(Printable character)로만 이루어져 있다. www.acmicpc.net 내가 작성한 코드 (C++ 성공) #include #include using namespace std; int main(){ char t[101]; cin >> t; char key = t[0] ^ 'C'; for(int i=0; i
[백준 알고리즘] 17284번 : Vending Machine
2019. 8. 15. 19:21
알고리즘/BaekJoon
문제 17284번 : Vending Machine 17284번: Vending Machine 첫째 줄에 정웅이가 누른 버튼의 번호가 공백으로 사이에 두고 주어진다. 정웅이는 버튼을 한 번 이상 눌렀다. www.acmicpc.net 내가 작성한 코드 (C++ 성공) #include using namespace std; int main(){ char btn; int mon = 5000; while(true){ cin.get(btn); if(btn=='\n') break; if(btn=='1'){ mon -= 500; } else if(btn=='2') { mon -= 800; } else if(btn=='3') { mon -= 1000; } } cout > 변수명; 하지만 그냥 cin 만 사용하게 되면 공백..
[백준 알고리즘] 17283번 : I am Groot
2019. 8. 15. 19:12
알고리즘/BaekJoon
문제 17283번 : I am Groot 17283번: I am Groot 첫 번째 줄에 중심 줄기를 제외한 나뭇가지의 총 길이의 합을 cm단위로 출력하며, 소숫점 이하는 버린다. 총 길이의 합이 106보다 작거나 같은 입력만 주어진다. www.acmicpc.net 내가 작성한 코드 (C++ 성공) #include using namespace std; int main(){ cin.tie(0); int l, r; cin >> l >> r; int n=l, sum=0, t=2; while(true){ n*=(double)r/100; if(n
[백준 알고리즘] 8595번 : 히든 넘버
2019. 8. 15. 19:06
알고리즘/BaekJoon
문제 8595번 : 히든 넘버 8595번: 히든 넘버 문제 단어에 숫자가 숨어있다. 이 숫자를 히든 넘버라고 한다. 알파벳 대/소문자와 숫자로 이루어진 단어가 주어졌을 때, 모든 히든 넘버의 합을 구하는 프로그램을 작성하시오. 단어와 히든 넘버는 아래와 같은 성질을 갖는다. 연속된 숫자는 한 히든 넘버이다. 두 히든 넘버 사이에는 글자가 적어도 한 개 있다. 히든 넘버는 6자리를 넘지 않는다. 입력 첫째 줄에 단어의 길이 n (1 ≤ n ≤ 5,000,000)이 주어진다. 둘째 줄에는 단어가 주어진다. 단어 www.acmicpc.net 내가 작성한 코드 (C++ 성공) #include #define MAX 50000001 using namespace std; char str[MAX]; int main()..