[Swift] Printing Repeated Strings - Programmers Lv.0 (181950)

Problem: 문자열 str과 정수 n이 주어집니다. str이 n번 반복된 문자열을 만들어 출력하는 코드를 작성해 보세요. https://school.programmers.co.kr/learn/courses/30/lessons/181950 Constraints: 1 ≤ str의 길이 ≤ 10 1 ≤ n ≤ 5 Solution: let inp = readLine()!.components(separatedBy: [" "]).map { $0 } let (s1, a) = (inp[0], Int(inp[1])!) let resultString: String = { var string: String = "" for _ in 0..<a { string += s1 } return string }() print(resultString) // 또는 // let resultString = String(repeating: s1, count: a) // print(resultString) 문자열을 n 번 반복해서 이어 붙이면 되는 문제입니다. ...

June 19, 2023 · 1 min · Sobamemil

C++ Programming Ch.11 Exercise 10 Solution

Problem: 다음은 프로그램과 Execution Result를 보여준다. prompt 조작자를 작성하여 프로그램을 완성하라. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 #include #include using namespace std; int main() { string password; while(true) { cin >> prompt >> password; if(password == "C++") { cout << "login success!!" << endl; break; } else cout << "login fail. try again!!" << endl; } } Execution Result: ...

April 2, 2020 · 1 min · Sobamemil

C++ Programming Ch.11 Exercise 5 Solution

Problem: 다음 프로그램은 예제 11-3의 코드이다. 아래 코드에서 char [] 대신 string을 이용하여 문자열을 다루도록 프로그램을 재작성하라. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 #include #include using namespace std; int main() { char cmd[80]; cout << "cin.get(char*, int)로 문자열을 읽습니다." << endl; while(true) { cout << "종료하려면 exit를 입력하세요 >> "; cin.get(cmd, 80); // 79개까지의 문자 읽음 if(strcmp(cmd, "exit") == 0 ) { cout << "프로그램을 종료합니다...."; return 0; } else cin.ignore(1); // 버퍼에 남아 있는 키 ('\n') 제거 } } Execution Result: ...

March 27, 2020 · 1 min · Sobamemil

C++ Programming Ch.5 Exercise 11 Solution

Problem: 책의 이름과 가격을 저장하는 다음 Book 클래스에 대해 물음에 답하여라. 1 2 3 4 5 6 7 8 9 class Book { char *title; // 제목 문자열 int price; // 가격 public: Book(const char* title, int price); ~Book(); void set(char* title, int price); void show() { cout << title << ' ' << price << "원" << endl; } }; (1) Book 클래스의 생성자, 소멸자, set() 함수를 작성하라. set() 함수는 멤버 변수 title에 할당된 메모리가 있으면 먼저 반환한다. 그러고 나서 새로운 메모리를 할당받고 이곳에 매개 변수로 전달받은 책이름을 저장한다. ...

March 5, 2020 · 3 min · Sobamemil

C++ Programming Ch.5 Exercise 10 Solution

Problem: 참조를 리턴하는 코드를 작성해보자. 다음 코드와 Execution Result를 참고하여 append() 함수를 작성하고 전체 프로그램을 완성하라. append()는 Buffer 객체에 문자열을 추가하고 Buffer 객체에 대한 참조를 반환하는 함수이다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 class Buffer{ string text; public: Buffer(string text) { this->text = text; } void add(string next) { text += next; } // text에 next 문자열 덧붙이기 void print() { cout << text << endl; } }; int main() { Buffer buf("Hello"); Buffer& temp = append(buf, "Guys"); // buf의 문자열에 "Guys" 덧붙임 temp.print(); // "HelloGuys" 출력 buf.print(); // "HelloGuys" 출력 } Execution Result: ...

March 5, 2020 · 1 min · Sobamemil

C++ Programming Ch.5 Exercise 3 Solution

Problem: 다음과 같이 작동하도록 combine() 함수를 작성하라. 1 2 3 4 5 6 int main() { string text1("I love you"), text2("very much"); string text3; // 비어있는 문자열 combine(text1, text2, text3); // text1과 " ", 그리고 text2를 덧붙여 text3 만들기 cout << text3; // "I love you very much" 출력 } Execution Result: Objective & Hints: string 클래스와 참조 사용 연습 Code: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 #include #include using namespace std; void combine(string t1, string t2, string &t3){ t3 = t1 + " " + t2; } int main() { string text1("I love you"), text2("very much"); string text3; // 비어있는 문자열 combine(text1, text2, text3); // text1과 " ", 그리고 text2를 덧붙여 text3 만들기 cout << text3; // "I love you very much" 출력 } Explanation: ...

March 5, 2020 · 1 min · Sobamemil

C++ Programming Ch.4 Exercise 9 Solution

Problem: 다음과 같은 Person 클래스가 있다. Person 클래스와 main() 함수를 작성하여, 3개의 Person 객체를 가지는 배열을 선언하고, 다음과 같이 키보드에서 이름과 전화번호를 입력받아 출력하고 검색하는 프로그램을 완성하라. 1 2 3 4 5 6 7 8 9 class Person{ string name; string tel; public: Person(); string getName() { return name; } string getTel() { return tel; } void set(string name, string tel); }; Objective & Hints: 객체 배열과 string 응용 연습 ...

March 4, 2020 · 2 min · Sobamemil

C++ Programming Ch.4 Exercise 6 Solution

Problem: string 클래스를 이용하여 사용자가 입력한 영문 한 줄을 문자열로 입력받고 거꾸로 출력하는 프로그램을 작성하라. Objective & Hints: string 클래스로 문자열 다루기 Execution Result: Code: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 #include #include using namespace std; int main() { string str; cout << "아래 한 줄을 입력하세요.(exit를 입력하면 종료합니다)"; while(true){ cout << endl << ">>"; getline(cin,str); if(str == "exit") break; for(int i = str.length()-1; i>=0; i--) cout << str[i]; } } Explanation: ...

March 4, 2020 · 1 min · Sobamemil

C++ Programming Ch.4 Exercise 3 Solution

Problem: string 클래스를 이용하여 빈칸을 포함하는 문자열을 입력받고 문자열에서 'a'가 몇개 있는지 출력하는 프로그램을 작성해보자. Objective & Hints: getline(), string 클래스 활용 Execution Result: Code: (1) 문자열에서 'a'를 찾기 위해 string 클래스의 멤버 at()나 []를 이용하여 작성하라. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 #include #include using namespace std; int main() { string str; cout << "문자열 입력>>"; getline(cin,str); int length = str.length(); int num = 0; for(int i=0; i<length; i++){ if(str[i] == 'a') num++; } cout << "문자 a는 " << num << "개 있습니다." ; } (2) 문자열에서 'a'를 찾기 위해 string 클래스의 find() 멤버 함수를 이용하여 작성하라. text.find('a', index);는 text 문자열의 index 위치부터 'a'를 찾아 문자열 내 인덱스를 리턴한다. ...

March 4, 2020 · 2 min · Sobamemil

C++ Programming Ch.3 Exercise 8 Solution

Problem: int 타입의 정수를 객체화한 Integer 클래스를 작성하라. Integer의 모든 멤버 함수를 자동 인라인으로 작성하라. Integer 클래스를 활용하는 코드는 다음과 같다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 #include #include using namespace std; int main() { Integer n(30); cout << n.get() << ' '; // 30 출력 n.set(50); cout << n.get() << ' '; // 50 출력 Integer m("300"); cout << m.get() << ' '; // 300 출력 cout << m.isEven(); // true(정수로 1) 출력 } Objective & Hints: ...

March 3, 2020 · 2 min · Sobamemil