문제 링크https://school.programmers.co.kr/learn/courses/30/lessons/120924내 생각등차 혹은 등비 수열이므로 연속되는 3개의 원소값을 비교하여 등비인지 등차인지 알아낸 후 계산내 코드다른 사람의 풀이다른 사람의
https://school.programmers.co.kr/learn/courses/30/lessons/120922규칙을 생각해 보았다. 가로의 길이 x 세로의 길이 - 1이 규칙이였다.그냥 바로 return 해주었다.
https://school.programmers.co.kr/learn/courses/30/lessons/120921A를 한 글자 한 글자 밀어가면서 B랑 비교하여 그 인덱스를 리턴함B를 2개 이어붙인 다음 거기서 A를 find()함.있다면 A가 시작하는 위치를
https://school.programmers.co.kr/learn/courses/30/lessons/120913for 문을 써서 a에 한글자씩 넣으면서 n만큼 넣으면 answer에 push해주고 a는 초기화 하도록 작성substr 사용해서 n만큼 잘라서 a
https://school.programmers.co.kr/learn/courses/30/lessons/120912원소 하나마다 while문을 이용하여 1의자리가 7인지 체크하고 10으로 나눈다음 다음 자리 수를 검사하기를 반복한다. 해당 원소가 0이되면 wh
https://school.programmers.co.kr/learn/courses/30/lessons/120911아스키코드에서 가장 높은숫자의 대문자인 Z의 값 90으로 비교해서 대문자이면 +32(하면 소문자) 해서 소문자로 만들고 그 후 정렬90말고 'Z'
https://school.programmers.co.kr/learn/courses/30/lessons/120910처음 세균의 수 n에 t번 만큼 2를 곱한다.쉬프트연산을 사용하였다.
https://school.programmers.co.kr/learn/courses/30/lessons/120909sqrt(제곱 수 구하는 함수 cmath에 포함) 사용하여 나온 값이 정수면 제곱수이다.sqrt(n)을 int로 형변환하면 소수점 이하는 버려지므
https://school.programmers.co.kr/learn/courses/30/lessons/120908a에 str2의 크기 만큼 str1의 원소를 하나하나 추가한다음 str2와 같은지 비교find쓰면 매우 쉽게끝남 string::npos는 find
https://school.programmers.co.kr/learn/courses/30/lessons/120906n이 1~1000000이므로 1000000부터 나눠서 몫을 더하고 100000, 10000 이런식으로 해서 더해간다. 이렇게 안하고 1의자리부터
https://school.programmers.co.kr/learn/courses/30/lessons/120905원소 하나하나 n의 배수인지 체크해서 answer에 넣어줌.다 비슷하다.
https://school.programmers.co.kr/learn/courses/30/lessons/1209041의자리수부터 비교한다음 k가 나타나는 자릿수를 j에 저장해두고 왼쪽부터 0이므로 i - j + 1을 한다.숫자를 문자열로 바꾼 뒤 찾아낸다. f
https://school.programmers.co.kr/learn/courses/30/lessons/120903a원소 하나하나 마다 b에 있는지 체크해서 있으면 answer++하고 s2에서 b를 지워서 다음 탐색 속도를 높인다.균형 이진트리 기반 set컨테
https://school.programmers.co.kr/learn/courses/30/lessons/120899원소 하나하나 비교해가면서 num보다 큰 경우 num값 갱신max_element를 사용해서 가장 큰 수의 iterator 찾고그 값과 distan
문제 링크 > https://school.programmers.co.kr/learn/courses/30/lessons/120898 내 풀이 > 그냥 글자수 * 2 내 코드 다른 사람의 풀이 다른 사람의 풀이 해석 >
문제 링크 > https://school.programmers.co.kr/learn/courses/30/lessons/120897 내 풀이 > 1부터 n까지의 모든 숫자를 나눠서 나머지가 0이면 answer에 추가함 내 코드 다른 사람의 풀이 다른 사람의 풀이
https://school.programmers.co.kr/learn/courses/30/lessons/120896map을 이용하여 글자 하나하나 map에 추가한다. 중복되면 value값을 ++한다.다 추가 한 뒤 value가 1이면 해당 문자를 answer에
https://school.programmers.co.kr/learn/courses/30/lessons/120895swap을 직접적으로 했다.swap함수를 사용하였다.
문제 링크 > https://school.programmers.co.kr/learn/courses/30/lessons/120894 내 풀이 > 문자열을 첫번째 원소부터 한글자씩 a에 추가하면서 비교하여 숫자가 맞으면 b에 해당 숫자를 넣어준다. 내 코드 다른 사람
https://school.programmers.co.kr/learn/courses/30/lessons/120893'Z'를 기준으로 대문자 소문자를 판별하여 tolower, toupper함수 사용하여 바꿔준다.islower함수 사용하여 대소문자 판별
https://school.programmers.co.kr/learn/courses/30/lessons/120892for문을 code만큼 ++하면서 돌림for문을 i++로 돌리면서 code에 맞는 인덱스마다 추가하는듯? 탐색 횟수가 더 많은 것 같다.
https://school.programmers.co.kr/learn/courses/30/lessons/120891숫자의 한자리 숫자마다 3의 배수인지 검사하여 박수 칠 횟수 계산3의 배수 판별은 0이 아닐 때와 3으로 나누었을때 나머지가 0인지를 &&하였다.
https://school.programmers.co.kr/learn/courses/30/lessons/120890각각 원소에서 n을 뺀 값이 0에 가까울수록 n과 가장 가까운수 이므로 절대값이 가장 작은원소가 가장 가까운숫자이다. 대신 여러개일경우 더 작은수
https://school.programmers.co.kr/learn/courses/30/lessons/120889삼각형의 완성조건 : 가장 큰 변의 길이 < 나머지 두변의 길이의 합sort사용해서 정렬한 뒤 완성조건을 if문으로 검사using names
https://school.programmers.co.kr/learn/courses/30/lessons/120888이중 for문을 돌려서 글자를 하나하나 비교해가면서 중복이면 제거unordered_set을 사용하였다 ( 정렬하여 저장하지 않음 ) count로
https://school.programmers.co.kr/learn/courses/30/lessons/120887for문의 범위를 i~j로 두고 k가 몇번들어갔는지 체크내가 쓴 while대신 for문을 사용하였다.
https://school.programmers.co.kr/learn/courses/30/lessons/120886두 문자열 다 정렬한 뒤 같은지 비교나는 삼항연산자를 썼고 아닌 풀이도 있다.
https://school.programmers.co.kr/learn/courses/30/lessons/12088410으로 나눈 값을 더하고 나눈 몫과 나머지를 다시 세팅하는 것을 반복10을빼고 answer++한다음 쿠폰받은걸 다시 ++ 반복. 훨씬 쉬운알고리
https://school.programmers.co.kr/learn/courses/30/lessons/120883id와 pw를 모두 비교해서 맞는 메시지 출력map을 사용해서 db를 정리하고 find해서 비교
https://school.programmers.co.kr/learn/courses/30/lessons/120880일단 모든 원소에서 n을 뺀다. 모든 원소 하나하나 비교해가면서 값을 비교해서 스왑해주고 다 정렬되면 다시 n을 더해준다. sort함수에서 원하는
https://school.programmers.co.kr/learn/courses/30/lessons/120878분모를 2나 5로 나눌 수 있을 때 까지 계속 나눈 뒤 해당 숫자로 a를 나누었을 때 나머지가 없으면 유한소수라고 판단해서 그렇게 코드를 짰다.w
https://school.programmers.co.kr/learn/courses/30/lessons/120875나올 수 있는 모든 선분을 만들어서 기울기를 구한 값을 넣고 0,1 / 2,3 / 4,5 끼리 비교페어가 되는 경우의 수를 따로 정리해 둔 뒤 사
https://school.programmers.co.kr/learn/courses/30/lessons/120869bool 변수를 하나 추가한뒤 spell의 글자 하나하나 dic의 원소에서 find해서 결과를 bool변수에 &연산 해줌find해서 없으면 바로
https://school.programmers.co.kr/learn/courses/30/lessons/120868주어진 두 변을 정렬 한 뒤 큰 값이 가장 큰 변이되는 경우부터 두 변의 합 직전까지의 범위의 숫자를 모두 구하면되는데 굳이 for문 돌리지말고
https://school.programmers.co.kr/learn/courses/30/lessons/120864isdigit (해당 char가 숫자면 true) 연속되는 숫자는 하나의 숫자로 간주하므로 숫자가 연속되면 기존에 추가된 숫자에 10을 곱해서 올
https://school.programmers.co.kr/learn/courses/30/lessons/120863일단 string의 공백을 모두 제거해주었다. x앞의 숫자를 담을 xnum과 상수를 담을 num을 추가했다. 한글자 한글자 검사해가면서 x이면 a
https://school.programmers.co.kr/learn/courses/30/lessons/120862이중for문사용해서 하나하나 곱해서 큰값나올때마다 갱신해간다.정렬한 다음 가장 앞 2개와 가장 뒤 2개를 곱한것 중 큰 수를 반환한다.for문의
https://school.programmers.co.kr/learn/courses/30/lessons/120861keyinput을 체크하여 행동하는데 좌표의 밖을 나가는지도 검사한다.나는 +1한거나 -1한게 벗어나는지 체크하였고 다른풀이는 비교연산자에서 =
https://school.programmers.co.kr/learn/courses/30/lessons/120860점들의 x좌표와 y좌표를 한곳에 몰아놓고 정렬시킨다. x의 최대에서 최소를 뺀값(x길이) y최대에서 y최소를 뺀 값(y길이)의 곱을 리턴해준다.다
https://school.programmers.co.kr/learn/courses/30/lessons/120854각 원소의 길이 계산해서 저장같은 방법이다.
https://school.programmers.co.kr/learn/courses/30/lessons/120853한글자 한글자 하면서 숫자인지 공백인지 -인지 다 검사해서 계산했다. stringstream을 모를때라 이렇게 하였다.stringstream을 사
https://school.programmers.co.kr/learn/courses/30/lessons/120852while에서 2부터 시작하여 나눠가는데 나머지가 나오면 나누는 수를 ++하고 나머지가 없으면 중복이 있는지 먼저 체크하고 없으면 answer에
https://school.programmers.co.kr/learn/courses/30/lessons/120851isdigit함수 사용하여 숫자면 answer에 더해주는데 char이므로 '0'을 뺀 값을 더해준다.isdigit없이 구현하였다.
https://school.programmers.co.kr/learn/courses/30/lessons/120850파싱해가면서 isdigit사용하여 숫자를 뽑아 answer에 넣고 마지막에 정렬을 해준다.emplace_back을 사용한 차이가 있다.
https://school.programmers.co.kr/learn/courses/30/lessons/120849모음인 알파벳을 제외한 나머지 모든 알파벳을 answer에 +해준다.regex를 사용하였다. my_string에서 모음을 다 ""로 치환하는 건데
https://school.programmers.co.kr/learn/courses/30/lessons/1208481씩 더한 값을 곱해가면서 n을 넘는지 체크한다.팩토리얼을 재귀함수로 구현해놓고 사용하였다.
https://school.programmers.co.kr/learn/courses/30/lessons/120847정렬 한 뒤 가장 뒤 쪽의 2개의 수 곱을 리턴sort없이 최댓값과 그 전 최댓값 구해서 곱
https://school.programmers.co.kr/learn/courses/30/lessons/1208461과 자기 자신을 제외하고 약수가 하나라도 있으면 조건을 만족한다. i의 시작을 4로해도 될듯수를 체크하는 부분을 함수화하여 꺼내놓았다.
https://school.programmers.co.kr/learn/courses/30/lessons/120845각길이를 n으로 나눈 값을 전부 곱해주면된다.리턴을 바로 해준다.
https://school.programmers.co.kr/learn/courses/30/lessons/120844왼쪽이면 1부터 끝까지 answer에 차례대로 넣고 0번인덱스를 마지막에 넣어주고오른쪽이면 마지막인덱스부터 넣은 뒤 0번부터 마지막 -1 을 넣어
https://school.programmers.co.kr/learn/courses/30/lessons/120843공의 이동거리를 먼저 계산 후 numbers의 크기로 나눠서 나머지를 구한다. 딱 떨어지면 마지막사람이다.k가 0이 될 때 까지 +2 해가면서 s
https://school.programmers.co.kr/learn/courses/30/lessons/120842int형 벡터 하나를 만들어서 num_list의 원소를 2개 넣고 answer에 push하고 초기화하고를 반복아예 answer를 초기화시켜놓고 값
https://school.programmers.co.kr/learn/courses/30/lessons/120841몇 사분면인지 체크하면 된다.삼항연산자에 삼항연산자를 사용하여 코드를 많이 줄였다.
https://school.programmers.co.kr/learn/courses/30/lessons/120840 공식은 Hint에 나와있으니 이대로 하면 되는데 값이 너무 커져서 int형으로 하면 오버플로우가 나므로 double형을 사용하였다.https&#
https://school.programmers.co.kr/learn/courses/30/lessons/120839원소를 차례대로 비교해가면서 이기는 수를 더해준다.같은 풀이다.
https://school.programmers.co.kr/learn/courses/30/lessons/120838모스부호를 모두 맵에 넣고 stringstream으로 파싱해가면서 맞는 단어를 완성한다.m.find(temp)->second 이거 말고 mtemp
https://school.programmers.co.kr/learn/courses/30/lessons/120837가장 큰 수인 5먼저 구하고 3, 1순서로 구한다.hp/1은 굳이 왜 나누었는지.그냥 hp로 쓰면될듯같은 방법이다.
https://school.programmers.co.kr/learn/courses/30/lessons/1208361부터 순서대로 쭉 가면서 나누어 떨어지는 숫자가 있으면 answer++한다.같은 풀이이다.
https://school.programmers.co.kr/learn/courses/30/lessons/120835emergency를 복사한 a를 내림차순으로 정렬한 뒤 a의 순서 인덱스대로 emergency를 수정한다.map에 emergency의 모든 원소를
https://school.programmers.co.kr/learn/courses/30/lessons/120834age를 string으로 바꾸고 'a' - '0' = (49)를 모든 원소에 더해준다같은 풀이이다.
https://school.programmers.co.kr/learn/courses/30/lessons/120833범위에 해당하는 원소만 answer에 차례대로 넣어준다.애초에 answer을 초기화 할 때 numbers.begin()으로 범위를 설정한다.
https://school.programmers.co.kr/learn/courses/30/lessons/120831n을 짝수로 만들어 준 뒤 n을 더하고 2를 빼고를 반복한다.n/2 \* (n/2 + 1)하면 합이 나온다.
https://school.programmers.co.kr/learn/courses/30/lessons/120812찾아보고 한건데 map에 저장하면서 중복될경우 value를 ++한다.다 넣은 뒤 최빈값을 탐색해가다가 여러개일경우 -1을 리턴한다.같은 풀이이다.
https://school.programmers.co.kr/learn/courses/30/lessons/120808분자와 분모를 따로 계산해준다. 일단 분모를 서로 곱해서 최소공배수를 만들고 분자들도 같이 곱해준뒤 더해준다. 그 후 공약수를 구해서 나눠준다.분
문제 링크 > https://school.programmers.co.kr/learn/courses/30/lessons/120956 다시 풀어본 내 풀이 > 내 코드 다른 사람의 풀이 다른 사람의 풀이 해석 >
https://school.programmers.co.kr/learn/courses/30/lessons/120923공식을 찾는 문제인것 같다.sum -> 1부터 num까지의 수를 모두 더한값start -> 연속되는 수 중에 가장 작은 값
https://school.programmers.co.kr/learn/courses/30/lessons/120907stringstream을 알기 전까지는 char 하나하나 분해해가면서 숫자인지 기호인지 판별해가면서 해보려했었다.stringstream으로 파싱한
https://school.programmers.co.kr/learn/courses/30/lessons/120902stringstream을 알게되었으므로 stringstream으로 파싱하였다. 처음 숫자를 빼면 그 뒤로는 연산자 숫자 의 반복이므로 첫 숫자만
https://school.programmers.co.kr/learn/courses/30/lessons/120896map이라는 컨테이너를 이론만 알고 직접 써보지 않아서 생각도 안하고 있었다.지금 정리를 다시 해보면서 map 없이 구현해보았다.a ~ z 까지
https://school.programmers.co.kr/learn/courses/30/lessons/120885stoi로 이진수를 숫자로 바꾼 뒤 더해가면서 계산 -> 오버플로우로 실패
https://school.programmers.co.kr/learn/courses/30/lessons/120882map에 인덱스와 평균을 보관해둔 뒤 평균을 기반으로 등수를 매긴 뒤 원래 인덱스 순서대로 넣으려했다. 그 과정에서 컨테이너를 여러개 만들고 순서
https://school.programmers.co.kr/learn/courses/30/lessons/120876lines를 sort한 뒤 1,2/1,3/2,3 으로 겹침을 확인해서 answer에 ++\-> 입출력 예 3번처럼 세개의 변이 겹칠 경우 중복되는
https://school.programmers.co.kr/learn/courses/30/lessons/120871처음엔 규칙을 몰랐다. 정리하면서 천천히 다시 읽어보니 알게되었다.순차적으로 올라가면서 규칙을 적용시키면서 ++해간다.3의 배수인경우, 1의자리가
https://school.programmers.co.kr/learn/courses/30/lessons/120866노가다 - 실패map에 옮겨담은 후 1인원소 찾아내서 그 주변과 본인 모두 value++한다. 그 뒤 0인것만 찾아 answer++하기\-> 끝자
https://school.programmers.co.kr/learn/courses/30/lessons/172928W, H 값을 구한다. S의 좌표를 구한다.while 문을 돌리면서 route의 원소를 파싱해서 방향과 이동수치를 구한다.먼저 방향을 검사하고 공
https://school.programmers.co.kr/learn/courses/30/lessons/161990가장 왼쪽좌표와 가장 위쪽좌표, 가장 오른쪽 좌표와 가장 아래쪽좌표를 구하면된다.W, H 를 구한다.비교해가면서 점 2개의 값을 담을 min, m
https://school.programmers.co.kr/learn/courses/30/lessons/161989m은 1인경우와 0인 경우는 따로 처리해둔다.answer을 1로 초기화 해둔다.while이나 for문을 돌리면서 section0의 위치에서 한 번
문제 링크 > 내 풀이 > 내 코드 다른 사람의 풀이 다른 사람의 풀이 해석 >
https://school.programmers.co.kr/learn/courses/30/lessons/159994goal의 size가 0이 될 때 까지 while을 돌린다.goal의 0번째 원소를 card1, 2의 0번째 원소와 비교한다.같은 원소를 찾으면
https://school.programmers.co.kr/learn/courses/30/lessons/155652글자를 for문으로 ++해간다. 조건문으로 z를 넘어가는지와 skip에 해당하는 글자인지 체크한다. z를넘어가면 a로 돌려주고 skip에 해당하는
https://school.programmers.co.kr/learn/courses/30/lessons/150370일단 stringstream으로 파싱 할 수 있도록 today의 .을 공백으로 replace한다. 그 후 today를 파싱하여 연 월 일을 구하고
https://school.programmers.co.kr/learn/courses/30/lessons/142086첫 알파벳은 무조건 -1이므로 -1처리해준다.그 다음 알파벳부터는 for문을 이중으로 돌려서 해당 알파벳에서 역순으로 서치하면서 같은 문자가 있는
https://school.programmers.co.kr/learn/courses/30/lessons/86491각 원소마다 세로길이가 큰지 가로길이가 큰지 구분하여 large와 small에 넣어준 뒤 w와 h에 있는 값과 비교하여 크면 갱신해준다. 즉 가로
https://school.programmers.co.kr/learn/courses/30/lessons/86051numbers를 string으로 변환 ( 이 경우 1의자리 숫자가 아닌 10의 자리 숫자들이 있을경우 옳지 않다고 생각 ) 0부터 9까지 숫자중에
https://school.programmers.co.kr/learn/courses/30/lessons/12906for문을 돌리면서 원소의 다음 인덱스가 다른 숫자면 해당 원소를 push한다. 마지막 원소는 비교 할 대상이 없고, 앞에 같은 원소가 있던 아니던
https://school.programmers.co.kr/learn/courses/30/lessons/92334순서를 잘 생각해서 해결하자.1\. report를 파싱하여 map에 넣는데 map의 첫번째 원소는 신고 당한사람, 두번째 set 컨테이너에는 해당
https://school.programmers.co.kr/learn/courses/30/lessons/178871질문하기에 있는 힌트를 보고 풀었다. player, rank 순서의 maprank, player순서의 map를 만들고 초기 players값을 넣어
https://school.programmers.co.kr/learn/courses/30/lessons/118666map<char,int> 컨테이너를 만든 뒤 choice와 survey에 따라 알파벳key값에 점수value를 계산해준다.계산된 점수를 기반
https://school.programmers.co.kr/learn/courses/30/lessons/133502일단 ingredient를 string으로 변환했다.그 후 for문을 돌리면서 substr로 4의 길이를 뽑아서 1231과 같으면 answer++
https://school.programmers.co.kr/learn/courses/30/lessons/72410단순하게 풀었다. 문제에 적힌 순서대로 해결하였다. 16자 이상이면 첫 15자만 살리고 다 제거한 뒤 끝이 마침표 일 수도 있으니 한번 더 제거해준
https://school.programmers.co.kr/learn/courses/30/lessons/67256일단 입력이 147인 경우, 369인 경우는 바로 처리한다.나머지 2580인 경우에 현재 왼손과 오른손의 위치를 바탕으로 거리를 계산하여 비교하여
https://school.programmers.co.kr/learn/courses/30/lessons/64061moves의 원소에따라 for문을 돌리면서 탐색할 때 0이 아닌 원소를 만나면 save에 push 하고 그 원소를 0으로 만든 뒤 탐색을 종료한다.
https://school.programmers.co.kr/learn/courses/30/lessons/140108일단 first에 s0을 저장한다. num1은 1, num2는 0으로 시작한다.first가 비어있을 경우 ( '0'을 넣어서 비어있음 처리함 )
https://school.programmers.co.kr/learn/courses/30/lessons/42576map을 이용하여 value값이 0이 아닌 선수를 찾는다.다양한 풀이가 있는데 hash를 쓰는방식이 가장 문제에 맞는 해답이라 생각하여 가져왔다.시
https://school.programmers.co.kr/learn/courses/30/lessons/133499레벨 0의 옹알이랑 똑같다.babbling의 원소 하나하나 체크하는데 한글자씩 s에 추가하면서 aya, ye, woo, ma가 완성되는지 체크해서
https://school.programmers.co.kr/learn/courses/30/lessons/42862map을 사용했다. 일단 2벌인 사람들을 전부 value에 2를 넣고 2벌인데 잃어버린 사람은 -- 해준다( 벌써 많이 느려짐 )그후 lost 를
https://school.programmers.co.kr/learn/courses/30/lessons/131128unordered_map을 사용해서 Y를 분해하고 X원소를 for문을 돌려서 map에있는 해당 원소의 갯수를 토대로 answer를 완성한 뒤 so
https://school.programmers.co.kr/learn/courses/30/lessons/77484lottos에서 0의 갯수와 win_nums와 비교해서 일치하는 숫자의 갯수를 구한 뒤 구한 갯수들로 결과를 만든다.zero는 따로 담고 visit
https://school.programmers.co.kr/learn/courses/30/lessons/136798number를 최대로 정하고 for문을 돌리면서 약수의 갯수를 구하고 limit를 넘는지 체크하면서 넘으면 power을 넣어주면된다.약수 구하는
https://school.programmers.co.kr/learn/courses/30/lessons/17682string 원소 하나하나 검사해가면서 숫자인지 SDT중 하나인지 10점인 경우 어차피 앞은 무조건1 뒤는 0이므로 따로 예외를 둘 필요는 없다st
https://school.programmers.co.kr/learn/courses/30/lessons/42889map을 이용해서 stages를 for문 돌리면서 스테이지마다 도달했으나 클리어 못한 수와 해당 스테이지를 거쳐간 모든 플레이어 수를 담았다.만든
https://school.programmers.co.kr/learn/courses/30/lessons/12921숫자에 약수가 있는지 체크하면된다.약수가 있으면 false, 없으면 true를 반환하는 함수를 만들어서 체크하였다.vector<bool> 컨테
https://school.programmers.co.kr/learn/courses/30/lessons/12977모든 더하는 경우의 수를 소수인지 검사한다.소수판별시 에라토스테네스의 체 방법을 사용하였다.
https://school.programmers.co.kr/learn/courses/30/lessons/135808score을 내림차순으로 정렬한 뒤 m씩 끊어가면서 끊은 묶음에서 가장 뒤에있는 숫자 ( 가장 작은 숫자 ) 에 m을 곱한값을 더해간다.커스텀 c
https://school.programmers.co.kr/learn/courses/30/lessons/428401,2,3번 사람들의 정답쓰는걸 배열로 미리 저장해둔다.answers를 for문을 돌리면서 각각 배열과 비교해서 정답을 맞춘 개수를 구한다.cmp함
https://school.programmers.co.kr/learn/courses/30/lessons/138477우선순위 큐 priority queue를 사용하였다. 내림차순으로 정렬하도록 설정한 뒤 score의 원소들을 추가해가면서 자동으로 정렬되므로 to
https://school.programmers.co.kr/learn/courses/30/lessons/1845set 사용해서 nums원소의 가짓수 구한 다음 nums.size/2보다 크면 nums.size()/2를 리턴하고 작으면 set의 size를 리턴mi
https://school.programmers.co.kr/learn/courses/30/lessons/12901day 배열과 month 배열을 미리 만들어 둔 뒤 a와 b에 맞춰서 일수를 계산하고 7로 나눈 나머지를 기반으로 day를 출력한다. ( 윤년이라
https://school.programmers.co.kr/learn/courses/30/lessons/176963unordered_map에 이름과 점수를 옮겨 담은 뒤 photo를 for문을 돌리면서 점수를 계산한다.다 같은 풀이이다.
https://school.programmers.co.kr/learn/courses/30/lessons/132267n/a \* b만큼 answer에 더해주고 n %= a 하고 더해준만큼 빈병을 다시 n에 더해주고를 반복(1) 나누고 나머지구하고 하지않고 그냥
https://school.programmers.co.kr/learn/courses/30/lessons/134240준비한 음식의 갯수를 2로 나눈 몫을 answer에 char로 더해주고 0을 한번 더해준 뒤 answer을 reverse한 str을 answer에
https://school.programmers.co.kr/learn/courses/30/lessons/68644더할 수 있는 모든 가짓수를 다 더해서 추가한 뒤 오름차순 정렬하고 중복을 제거하였다.set을 써서 자동으로 오름차순 정렬, 중복제거를 했다.
https://school.programmers.co.kr/learn/courses/30/lessons/42748복사해올 범위를 복사해오는데 유의할점은 iterator로 가져오는건데 보통 전체 복사 해올때는 begin() 부터 end()까지 인데 end는 마지
https://school.programmers.co.kr/learn/courses/30/lessons/12915sort할 때 compare 함수를 잘 이용해야 할 문제인거 같아서 만들었다. 숫자n은 전역변수로 넘겨주었다.인덱스에 해당하는 글자가 같으면 입력된
https://school.programmers.co.kr/learn/courses/30/lessons/81301숫자단어를 벡터로 만들어놓고 s의 글자 하나하나 검사해가면서 숫자면 바로 ans에 더해주고 영어면 쌓아가면서 크기가 3이상이되면 vec에서 find
https://school.programmers.co.kr/learn/courses/30/lessons/17681arr1의 각 원소와 arr2의 각 원소들을 비트OR연산한다. 그 후 2의 n-1제곱부터 빼가면서 for문을 2개가 아닌 1개로 통합 할 수 있다.
https://school.programmers.co.kr/learn/courses/30/lessons/12926대문자인지 소문자인지 체크, 대문자면 n을 더했을 때 오버가 되는지 체크해서 처리소문자도 더했을 때 오버가 되는지 체크해서 처리islower과 is
https://school.programmers.co.kr/learn/courses/30/lessons/1317053중 for문을 사용하여 모든 경우의 수를 더해본다.같은 답이다.
https://school.programmers.co.kr/learn/courses/30/lessons/12982일단 d를 오름차순으로 정렬 ( 작은값부터 더하는게 가장 횟수가 많다) 더해가면서 budget을 넘으면 i반환(해당 인덱스 더하기 전의 더한 횟수)
https://school.programmers.co.kr/learn/courses/30/lessons/12930index 기반 for문으로 순회하면서 알파벳을 변환하는데 외부 변수 count를 기반으로 짝수번째인지 홀수번째인지 체크한다. 탐색하다가 공백을 만
https://school.programmers.co.kr/learn/courses/30/lessons/68935n을 3으로 나눈 나머지를 vec에 담고 n을 3으로 나눈다 ( n -= answer는 필요없다 어차피 n/=3 할때 나머지는 알아서 지워지기 때문
https://school.programmers.co.kr/learn/courses/30/lessons/12940최대 공약수를 구한 뒤 두 수의 곱에서 최대 공약수를 나누면 최소 공배수이다.최대공약수를 구하는 알고리즘인 유클리드 호제법을 사용하였다.
https://school.programmers.co.kr/learn/courses/30/lessons/12969a,b입력받은거로 별찍음for문 횟수 줄일 수 있는듯
https://school.programmers.co.kr/learn/courses/30/lessons/129502중 for문으로 원소 하나하나 다 더했다.다 같은 해답이다.
https://school.programmers.co.kr/learn/courses/30/lessons/12918크기가 4인지 6인지 먼저 체크 후 글자가 숫자인지 아닌지 체크한다. 비슷하다.
https://school.programmers.co.kr/learn/courses/30/lessons/12939stringstream을 이용하여 파싱하였다. vector에 옮겨 담은 뒤 sort하고 맨 앞과 맨 뒤를 string으로 변환하여 answer에 넣
https://school.programmers.co.kr/learn/courses/30/lessons/12951문자열을 단어 하나하나 순회하면서 bool이 true면( 맨 앞 글자면 ) 대문자로바꾸고 bool을 false로 바꾸고 나머지는 소문자로 바꾸다가
https://school.programmers.co.kr/learn/courses/30/lessons/12941A는 오름차순, B는 내림차순으로 정렬 후 각 원소를 곱한걸 answer에 더해준다.A를 오름차순, B를 내림차순으로 한건 똑같고곱의 합을 구할 때
https://school.programmers.co.kr/learn/courses/30/lessons/12909한글자씩 검사하면서 '(' 가 나오면 num++ ')'가 나오면 num-- 한다. num이 마이너스가 될 경우 바로 false를 반환한다. for문
https://school.programmers.co.kr/learn/courses/30/lessons/70129반복문을 이용한 0 제거, 0을 제거한 문자열의 길이를 이진수로 변환 하면서 0제거 카운트, 해당 과정 횟수도 카운트 일단 string을 vecto
https://school.programmers.co.kr/learn/courses/30/lessons/129241개부터 시작해서 ++ 해가면서 해당 개수의 연속되는 자연수의 합이 n이 될 수 있는지 체크해간다.반복문으로 1부터 시작해서 1 부터 i까지 의 합
https://school.programmers.co.kr/learn/courses/30/lessons/12911n이 이진수일 때 1의 갯수를 구해둔 뒤 n을 1씩 더해가면서 1의 갯수가 같은 수를 리턴한다.bitset을 사용하였다. bitset의 count(
https://school.programmers.co.kr/learn/courses/30/lessons/12945재귀함수의 대표적인 예로 나오는 피보나치 수다. 하지만 그 재귀함수를 사용하면 수가 클 경우 ( 이 문제의 최대 범위는 100000 ) 횟수가 너무
https://school.programmers.co.kr/learn/courses/30/lessons/12973처음 시도한 방법string 의 한글자씩 반복문 돌려가면서 앞글자와 같은 글자가 있으면 그 부분을 제거 ( substr로 해당 부분 제외하고 앞과
https://school.programmers.co.kr/learn/courses/30/lessons/12981중복검사에 unordered_map을 사용하였다. 중복된 단어를 사용했거나 앞의 단어의 맨 뒤 글자가 지금 단어의 시작과 다르면 해당 인덱스를 기반
https://school.programmers.co.kr/learn/courses/30/lessons/42842yellow의 모든 가로 세로 길이의 수를 돌려가면서 brown, yellow 수를 기반으로 일치하는 가로길이와 세로길이를 구해서 리턴한다.위에있는
https://school.programmers.co.kr/learn/courses/30/lessons/12985a, b가 속해있는 조를 구해가면서 같아질 경우까지 반복한다.나는 1,2는 1조 라는 가정하에 홀수일경우 /2 +1 하고 짝수는 /2 하였다.일단
https://school.programmers.co.kr/learn/courses/30/lessons/42885탐욕법(그리디) 알고리즘https://velog.io/@contea95/%ED%83%90%EC%9A%95%EB%B2%95%EA%B7%B8%
https://school.programmers.co.kr/learn/courses/30/lessons/12980n을 분해해간다. n이 짝수면 2로 나누고, 홀수면 1을 뺀다. 1을 뺀 횟수를 기록해서 리턴한다.내 풀이에서 더 줄일 수 있다. if else를
https://school.programmers.co.kr/learn/courses/30/lessons/12953재귀를 이용한 유클리드 호재법을 사용하였다. 반복문으로 2개씩 묶어가면서 두 개의 최대공약수를 구해서 최소공배수를 구하고 i+1에 대입해준다. 끝까
https://school.programmers.co.kr/learn/courses/30/lessons/12914n개중에 m개를 고르는 방법을 구하는 함수를 만든 뒤 (1, n), (2, n-1)... (m,n-m)까지 구해서 모든값을 더하려고 했으나 나누기에
https://school.programmers.co.kr/learn/courses/30/lessons/42747가장 높은 원소부터 검사해나간다. h이상인 원소의 개수가 h개 이상이면 바로 h를 리턴한다.citations를 내림차순으로 정렬한다. 가장 큰 값부
https://school.programmers.co.kr/learn/courses/30/lessons/138476map 을 이용하여 귤의 크기와 갯수를 구한다.귤의 갯수만 vector에 옮겨 담은 후 내림차순으로 정렬한다.가장 갯수가 많은 것 부터 sum에
https://school.programmers.co.kr/learn/courses/30/lessons/131701for문의 index가 element갯수를 넘으면 다시 0부터 시작한다는걸 생각하고 풀면된다.길이가 1인것부터 경우의 수를 모두 구한 뒤 set에
https://school.programmers.co.kr/learn/courses/30/lessons/76502내가 스택을 잘 활용하지 못해서 괄호문제에 약한 것 같다.괄호는 무조건 거의 스택인데 잘 알아둬야겠다.for문으로 탐색하면서 여는괄호를 만나면 fl
https://school.programmers.co.kr/learn/courses/30/lessons/87390굳이 배열을 만들어서 할 필요는 없고 규칙만 찾으면 된다.예시에서 1행은 1, 2, 32행은 2, 2, 33행은 3, 3, 3 이다.행의 1열은 행
https://school.programmers.co.kr/learn/courses/30/lessons/131127map을 이용해서 want와 number를 합치고, sum을 구한다discount를 for문을 돌리면서 만들어둔 map에서 discountj에 해
https://school.programmers.co.kr/learn/courses/30/lessons/12949for문을 썼다. arr1의 행을 탐색할 for문arr2의 원소 하나의 열을 탐색할 for문arr1의 원소 하나의 열과 arr2의 행을 탐색할 fo
https://school.programmers.co.kr/learn/courses/30/lessons/17680일단 모두 소문자로 바꿔준다.cities를 for문으로 순회하면서vec에서 find하였을 때 없으면 answer += 5 하고 캐시 사이즈와 vec
문제 링크 > https://school.programmers.co.kr/learn/courses/30/lessons/42578 내 풀이 > 종류와 그 종류의 가짓수를 map에 담는다. 모든 경우의 수를 구하면 되는데 공식을 몰라서 찾아보았다. 한 종류의 가짓수에서
https://school.programmers.co.kr/learn/courses/30/lessons/64065처음엔 문제를 잘못보고 stringstream을 써서 숫자만 뽑아서 대충했다가 다시했다.문자열을 파싱해서 숫자를 뽑아서 vec에 넣고 닫는 괄호'}
https://school.programmers.co.kr/learn/courses/30/lessons/42586먼저 progresses의 각 원소마다 speeds를 계산해서 며칠이 걸리는지 계산한 뒤 큐에 바로 넣어준다.일단 가장 맨 앞의 원소를 first로
https://school.programmers.co.kr/learn/courses/30/lessons/42587queue에 index를 채워넣는다.priorities의 원소중 max값을 구한다.while을 돌리면서 큐의 맨 앞값과 max를 비교한다.max보다
https://school.programmers.co.kr/learn/courses/30/lessons/17677str1과 2에서 알파벳2개로 나올수 있는 모든 경우를 구한다.공집합의 예외처리를 해둔다.합집합을 구하기 위해 미리 all에 str1vec, str
https://school.programmers.co.kr/learn/courses/30/lessons/87946문제 잘못보고 주어진 피로도로 가능한 가장 높은 횟수를 구했었다.아직도 재귀에 약한것 같다.방문 체크용 bool 배열을 선언해두고 answer도 전
https://school.programmers.co.kr/learn/courses/30/lessons/43165바로 전 문제에서 배운 재귀를 써보려다가 막혔다. 모든 수를 더하거나 빼보는것을 해보기 보다 sum이 target보다 크면 현재 숫자를 빼고 작으면
https://school.programmers.co.kr/learn/courses/30/lessons/42577set에 옮겨담는다. 사전순으로 자동 정렬된다.사전순으로 정렬되어서 0번째가 1번째에서 find되지 않으면 그 뒤로도 전부 find되지 않으므로 그
https://school.programmers.co.kr/learn/courses/30/lessons/92335n을 k진수로 바꾸는 함수 생성num이 소수인지 판별하는 함수 생성소수 판별은 나머지 연산으로 나머지가 있으면 바로 false를 리턴해도 되는데2와
https://school.programmers.co.kr/learn/courses/30/lessons/17684map을 이용했다.map에 일단 알파벳들을 index와 함께 사전순으로 저장했다.msg를 for문으로 순회하면서 s에 한 알파벳씩 추가하는데 msg
https://school.programmers.co.kr/learn/courses/30/lessons/17687일단 n진수로 바꾼 뒤 string으로 변환해주는 함수를 만든다.16진수는 map으로 A,B,D..F를 구현했다.사람수 m과 반복할 횟수t를 곱한
https://school.programmers.co.kr/learn/courses/30/lessons/92341stringstream으로 먼저 파싱하는데 : 를 제거하고 시, 분, 차번호, IN or OUT이렇게 4개로 나누어서 파싱하였다. IN을 만나면 r
https://school.programmers.co.kr/learn/courses/30/lessons/42626처음엔 set사용했다가 중복허용안되는걸 아차하고 priority queue를 사용했다.scoville를 큐에 옮겨담는다.큐는 오름차순으로 정렬해준다
https://school.programmers.co.kr/learn/courses/30/lessons/84512경우의 수 규칙이 있을거같았는데 생각하기 복잡해서 문제의 카테고리인 완전탐색으로 풀었다.dfs 재귀를 만들어서 풀었다.일단 정답을 찾은경우 재귀를
https://school.programmers.co.kr/learn/courses/30/lessons/154539처음엔 이중for문으로 했었다. 당연히 시간 초과가 났다.answer를 numbers의 size만큼 초기화 한다.for문을 거꾸로 돌리면서 whi
https://school.programmers.co.kr/learn/courses/30/lessons/49994필요한것 :현재 위치를 나타낼 2차원 좌표 변수입력대로 이동했을 때 유효한 이동인지 체크하고 이동하는 함수이동을 저장할 컨테이너이동을 저장할 컨테이
https://school.programmers.co.kr/learn/courses/30/lessons/12913행마다 최댓값을 구하고 이전 행의 인덱스와 겹치면 -1로 바꾸고 다시 max를 구해서 더해갔다.이러면 한 행에서 최댓값을 더했는데 다음 행에 같은
https://school.programmers.co.kr/learn/courses/30/lessons/42584배열을 미리 선언해두고 이중for문으로 각 원소마다 더 작은 숫자가 나올때까지 검사해가면서 arri++을 한다.다 나왔으면 answer에 옮긴다.s
https://school.programmers.co.kr/learn/courses/30/lessons/49993map에 스킬의 알파벳과 그 인덱스를 담는데 이 인덱스는 해당 스킬을 배우는데 선행되는 스킬의 개수를 나타낸다.그후 반복문을 돌리면서 스킬순서에 없