프로그래머스 - 특정한 문자를 대문자로 바꾸기 - C++

프로그래머스 특정한 문자를 대문자로 바꾸기 문제 바로가기 alp를 char로 바꾸어서 풀어내기 solution에 input으로 alp가 하필… string으로 들어와서 이걸 어떻게 처리해야할지 고민을 정말 많이 했다. 해결법은 정말 단순했는데, alp을 배열로 생각하고 alp[0] 또는 alp.at(0)을 사용하면 char로 불러와진다는 점이었다. 허허 #include <string> #include <vector> using namespace std; string solution(string my_string, string alp) { string answer = ""; char calp = alp.at(0); for (char ch: my_string){ if (ch == calp){ answer += toupper(ch); } else{ answer += ch; } } return answer; } substr()을 이용한 풀이 substr() 함수는 2개의 parameters을 받는다. pos는 첫 번째 character의 위치, count는 비교 대상인 substring의 길이. 따라서 이 경우 my_string의 각 자리와 alp의 길이인 1을 parameter로 전달해주면 된다. ...

2023-8-12 · 1 min · 145 words · Junha

존리의 부자되기 습관

경제독립은 누구나 꿈꾸지만, 실제로 그 꿈을 이룬 사람을 주변에서 찾기란 쉽지 않다. 뉴스에서는 주식하다가 망한 개미 투자자들의 이야기가 나오고, 한 트레이딩 대회에서 주식을 건들지도 않은 투자자(수익률 0%)가 1위를 차지하는 짤도 돌기도 한다. 그렇기에 우리는 주식은 손대서는 안되는 것, 더 나아가 손실 위험이 있는 모든 상품들을 위험하기에 투자 목록에 고려하지도 않는다. 유명한 펀드매니저인 ‘존 리’는 이를 금융문맹이라고 말하면서 우리 사회에서 이런 인식들을 뿌리 뽑아야 한다고 말한다. 기회비용이 너무 큰 부동산이나, 물가 상승을 반영하지 못하는 예적금 대신에 과감하게 펀드와 주식에 투자하라는 이야기였다. ...

2023-8-11 · 3 min · 491 words · Junha

프로그래머스 - 원하는 문자열 찾기 - C++

프로그래머스 원하는 문자열 찾기 문제 바로가기 lowercase, uppercase C++에서 string을 lowercase 또는 uppercase하는 방법은 정말 다양하다. 1) transform()안에 iterator과 tolower()함수를 넣는 경우. 2) ASCII 아스키 코드를 이용해서 대문자->소문자로 바꾸는 경우 3) boost에서 to_lower() 함수를 불러와서 바꾸는 경우. 사실 가장 간단한 것은 boost 방식이라 이를 이용해서 문제를 해결했다. 내 풀이 myString의 각 자리를 pat의 첫 번째 요소와 비교해가며 조건을 만족하는 경우 1을 return하도록 했다. 이중 for문이라 시간복잡도는 O(n*m)이다. #include <string> #include <vector> #include <boost/algorithm/string.hpp> using namespace std; int solution(string myString, string pat) { boost::algorithm::to_lower(myString); boost::algorithm::to_lower(pat); int count = 0; if (myString.size() < pat.size()){ return 0; } for (int i=0; i<myString.size()-pat.size()+1; i++){ count = 0; for (int j=0; j<pat.size(); j++){ if (myString[i+j] == pat[j]){ count++; if (count == pat.size()){ return 1; } } } } return 0; } 다른 사람의 풀이 구경 조금 더 간단하게 풀어내는 방법이 없을까 고민하다가 다른 사람들의 풀이를 구경했다. 훨씬 깔끔하더라ㅜㅜㅜ 그러면 코드를 파헤쳐 보자 ...

2023-8-11 · 1 min · 204 words · Junha

Paper Review - Unskilled and Unaware of it - How Difficulties in Recognizing One's Own Incompetence Lead to Inflated Self-Assessments

People tend to project themselves as “better-than-average”. Those who are incompetent overestimate themselves, while those who are competent underestimate their ability. This phenomena is also known as dunning-kruger effect, which is one of cognitive biases. Summarization @startmermaid flowchart LR Incompetence – previous research –> Metacognitive Deficiencies – Dunning,Kruger –> Inflated Self-Assessments @endmermaid Previous researches mainly focused on ‘incompetence leads to metacognitive deficiencies’, while this research, which Dunning and Kruger published, targeted on ‘metacognitive deficiencies leads to inflated self-assessments.’ The following is how each groups behaved. ...

2023-8-10 · 2 min · 259 words · Junha

프로그래머스 - 9로 나눈 나머지 - C++

프로그래머스 9로 나눈 나머지 문제 바로가기 char -> int로 바꾸기 char one = '1'; int ione = one - '0'; cout << ione // 1 나의 풀이 char -> int로 바꿀 수만 있다면 for문으로 string으로부터 char을 받아와서 쉽게 각 자리 합을 구할 수 있다. #include <string> #include <vector> using namespace std; int solution(string number) { int ans = 0; for (char n: number){ int num = n - '0'; ans += num; } return ans%9; } References stackoverflow - convert char to int

2023-8-10 · 1 min · 83 words · Junha