본문 바로가기

Problem Solving

(24)
[백준] 9012: 괄호 stack을 이용해서 push, pop을 처음 구현했는데 자꾸 runtime 에러가 나고 돌아가지 않길래, 결국은 그냥 +1, -1을 이용한 카운팅으로 했다. 내가 짠 코드 #include #include #include using namespace std; int main(void){ int N,i,j,value; string input; scanf("%d\n",&N); for(i=0;i
[백준] 10816: 숫자 카드 2 처음 생각은, 카드를 입력받으면서 카드 개수도 같이 세주는 것을 생각했는데, 카드 개수를 세기 위해서는 매번 위치를 찾아야해서 여기서 시간초과가 계속 뜬 듯 하다. 해법은 이진탐색을 이용해서, 일단 입력 받은 후에, sortinng 하고 lowerboudn, upperbounnd찾는것. 내가 짠 코드 #include #include #include using namespace std; vector deck; int N; int upperBound(int value); int lowerBound(int value); int main(void){ int i,value,idx; int upper,lower; scanf("%d",&N); for(i=0;i
[백준] 11651번 : 좌표 정렬하기 2 C++ vector의 pair를 이용하고, sort에서 비교함수를 사용자 정의 하는 문제. 내가 짠 코드 #include #include #include using namespace std; bool comp(paira, pairb){ if(a.second == b.second) return a.first sets; scanf("%d",&N); for(i=0;i
[LeetCode] Longest Word in Dictionary through DeletingSolution 중간중간 헷갈려서 조금 헤맸다. public안에 sort를 위한 bool을 추가했는데 앞에 static을 붙여야 돌아가더라. 왜 붙여야 하는지는 아직 이해 못함. 내가 짠 코드 class Solution { public: static bool sortWithLength(string a, string b){ return a.length()>b.length(); } string findLongestWord(string s, vector& d) { string ans; int ans_len=0; sort(d.begin(),d.end(),sortWithLength); int i,j,dPos,sPos; for(i=0;i
[백준] 1009: 분산처리 자꾸 틀렸다고 나오는데, 나머지가 0으로 떨어지면 0이 아니라 10을 출력해야 한다. 내가 짠 코드 #include using namespace std; int main(void){ int N,i,j,a,b,value; scanf("%d",&N); for(i=0;i
[백준] 1032: 명령 프롬프트 string문자열 입력 받을 때는 이전에 줄바꿈을 받지 않도록 하기 위해 scanf("%d\n"~)까지 잘 해주는 것과, getline으로 줄 단위로 받고, 특정 위치의 내용을 바꾸기 위해서는 replace 사용해서 바꾸는 것. 내가 짠 코드 #include #include using namespace std; int main(void){ int N,i,length,j; char input[55]; string list; string ans; scanf("%d\n",&N); for(i=0;i
[백준] 1026번: 보물 C++에서 벡터 sorting하기. 필요한 라이브러리는 #include Sort는 다음과 같이 정의. sort(시작, 끝, 비교함수). 보통은 마지막을 생략하면(비교함수) 오름차순으로 정렬된다. 만약 내림차순으로 하고 싶다면 비교함수를 정의해주면 된다. 내가 짠 코드 #include #include #include using namespace std; bool desc(int a, int b){ return a>b; } int main(void){ int N; vector A, B; int i,value,S=0; scanf("%d",&N); for(i=0;i
[LeetCode] Arithmetic SlicesSolution 내가 짠 코드 class Solution { public: int numberOfArithmeticSlices(vector& A) { if(A.size()