💻 개발 & CS알고리즘 코딩테스트

[Swift] 대소문자 바꿔서 출력하기 / LV.0, 181949, 프로그래머스

문제: 영어 알파벳으로 이루어진 문자열 str이 주어집니다. 각 알파벳을 대문자는 소문자로 소문자는 대문자로 변환해서 출력하는 코드를 작성해 보세요. https://school.programmers.co.kr/learn/courses/30/lessons/181949 [프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr](https://school.programmers.co.kr/learn/courses/30/lessons/181949) 제한사항: 1 ≤ str의 길이 ≤ 20 str은 알파벳으로 이루어진 문자열입니다. 풀이: let line = readLine()! let resultString = line.map { character in if character.isLowercase { return character.uppercased() } else { return character.lowercased() } }.joined() print(resultString) // 또는 // print(readLine()?.map { $0.isLowercase ? $0.uppercased() : $0.lowercased() }.joined() ?? "") 입력 받은 각 문자 하나하나가 대문자인지 소문자인지 판단해서 반대로 출력하면 되는 문제입니다. ...

2023년 6월 19일 · 1 분 · Sobamemil
💻 개발 & CSC++ 프로그래밍

명품 C++ programming 실습 문제 10장 16번

문제 : vector<Shape*> v;를 이용하여 간단한 그래픽 편집기를 콘솔 바탕으로 만들어보자. 생성된 도형 객체를 v에 삽입하고 관리하라. 9장 실습 문제 10번의 힌트를 참고하라. Shape과 Circle, Line, Rect 클래스는 다음과 같다. 실행 결과 : 목적 및 힌트 : vector를 활용하는 종합 응용 코드 : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 #include #include using namespace std; class Shape { protected: virtual void draw() = 0; public: void paint() { draw(); } }; class Circle : public Shape { protected: virtual void draw(){ cout << "Circle" << endl; } }; class Rect : public Shape { protected: virtual void draw() { cout << "Rectangle" << endl; } }; class Line : public Shape { protected: virtual void draw() { cout << "Line" << endl; } }; class UI { public: static int seleteMenu() { int n; cout << "삽입:1, 삭제:2, 모두보기:3, 종료:4 >> "; cin >> n; return n; } static int seleteShape() { int n; cout << "선:1, 원:2, 사각형:3 >> "; cin >> n; return n; } static int seleteDelIndex() { int n; cout << "삭제하고자 하는 도형의 인덱스 >> "; cin >> n; return n; } static void showAll(vector<Shape*> &v, vector<Shape*>::iterator &it) { int i=0; for(it = v.begin();it!=v.end(); it++, i++){ // vector v의 첫 원소부터 끝 원소까지 탐색 및 출력 cout << i << ": "; v.at(i)->paint(); } } }; class GraphicEditor { vector<Shape*> v; vector<Shape*>::iterator it; public: GraphicEditor() { cout << "그래픽 에디터입니다.\n"; start(); } void start() { while(true){ int n; n = UI::seleteMenu(); switch(n){ case 1: //삽입을 선택한 경우 n = UI::seleteShape(); switch(n){ case 1: //선을 선택한 경우 v.push_back(new Line()); break; case 2: //원을 선택한 경우 v.push_back(new Circle()); break; case 3: //사각형을 선택한 경우 v.push_back(new Rect()); break; default: cout << "잘못 선택하셨습니다.\n"; break; } break; case 2:{ //삭제를 선택한 경우 n = UI::seleteDelIndex(); if(n >= v.size() 

2020년 3월 11일 · 2 분 · Sobamemil
💻 개발 & CSC++ 프로그래밍

명품 C++ programming 실습 문제 10장 14번

문제 : 암호 관리 응용프로그램을 map을 이용하여 작성하라. 실행 과정은 다음과 같다. 실행 결과 : 목적 및 힌트 : map 컨테이너에 삽입 및 조회 응용 이름과 점수를 쌍으로 저장할 맵 컨테이너로 map<string, string>을 이용하면 됩니다. 아래 링크에 있는 실습 문제 10장 13번을 참고하세요. 코드 : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 #include #include using namespace std; void insert(map<string, string> &pwManager){ string name, pw; cout << "이름 암호>> "; cin >> name >> pw; pwManager.insert(make_pair(name, pw)); } void checkNamePw(map<string, string> &pwManager){ string name, pw; cout << "이름? "; cin >> name; while(true){ cout << "암호? "; cin >> pw; if(pwManager[name] == pw){ cout << "통과!!\n"; break; } else cout << "실패~~\n"; // 틀리면 출력 후 다시 암호 질문 } } int main() { map<string, string> pwManager; cout << "***** 암호 관리 프로그램 WHO를 시작합니다 *****\n"; while(true){ cout << "삽입:1, 검사:2, 종료3>> "; int n; cin >> n; switch(n){ case 1: insert(pwManager); break; case 2: checkNamePw(pwManager); break; case 3: cout << "프로그램을 종료합니다..."; return 0; } } } 설명 : ...

2020년 3월 11일 · 2 분 · Sobamemil
💻 개발 & CSC++ 프로그래밍

명품 C++ programming 실습 문제 10장 13번

문제 : map 컨테이너를 이용하여 (이름, 성적)을 저장하고 이름으로 성적을 조회하는 점수 관리 프로그램을 만들어라. 이름은 빈칸 없이 입력하는 것을 원칙으로 한다. 실행 결과 : 목적 및 힌트 : map 컨테이너 활용 이름과 점수를 쌍으로 저장할 맵 컨테이너로 map<string, int>를 이용하면 된다. 코드 : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 #include #include #include using namespace std; int main() { map<string, int> Score; // map 컨테이너 생성. 키는 한글 이름, 값은 정수 점수 cout << "***** 점수관리 프로그램 HIGH SCORE을 시작합니다 *****\n"; while(true){ int num; int score; string name; cout << "입력:1, 조회:2, 종료:3 >> "; cin >> num; switch (num){ case 1: cout << "이름과 점수>> "; cin >> name >> score; Score.insert(make_pair(name, score)); // map에 저장 break; case 2: cout << "이름 >> "; cin >> name; if(Score.find(name) == Score.end()) // name '키'를 끝까지 찾았는데 없음 cout << "없음" << endl; else cout << name << "의 점수는 " <<Score[name] << endl; // Score에서 name의 값을 찾아 출력 break; case 3: cout << "프로그램을 종료합니다...\n"; return 0; default : cout << "제대로 입력해\n"; break; } } } 설명 : ...

2020년 3월 11일 · 2 분 · Sobamemil