일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- baekjoon #백준 #boj
- Flutter
- flutter #firebase #플러터 #파이어베이스 #연동
- flutter #깃
- flutter #상태관리
- flutter #git
- flutter #app #취준
- 로컬저장소 #이름변경
- 비주얼 스튜디오 #vs #visual studio
- flutter #todolist
- boj #baekjoon
- unity #2d-game
- 백준
- 백준 #boj #baekjoon
- boj #baekjoon #c++
- 인턴 #프론트엔드 #개발자 #프론트엔드개발자 #취준
- 플러터 #flutter #restful #rest api
- git #unity #깃허브
- flutter #플러터 #분석
- #유데미 #udemy #웅진씽크빅 #스나이퍼팩토리 #인사이드아웃 #미래내일일경험 #프로젝트캠프 #부트캠프 #react #리액트프로젝트 #프론트엔드개발자양성과정 #개발자교육과정
- baekjoon #boj #c++
- VS #비주얼스튜디오
- boj #c++
- firebase #파이어베이스
- 백준 #c++
- unity #2d-game #minigame #vscode
- 유데미 #udemy #웅진씽크빅 #스나이퍼팩토리 #인사이드아웃 #미래내일일경험 #프로젝트캠프 #부트캠프 #react #리액트프로젝트 #프론트엔드개발자양성과정 #개발자교육과
- 비주얼스튜디오 #코드스니펫
- flutter #플러터
- 백준 #boj
- Today
- Total
목록백준 #boj #baekjoon (6)
cococo-coding
문제 풀이 string을 이용해서 입력을 받고, for문을 이용해 인덱스로 풀어준다. 이때 인덱스는 string의 끝이 아닌, 끝-2 이라는 점을 체크해주자. string으로 문자열을 받았으므로, if문에 써줄때도 s[i]=='J' 이렇게 작은따옴표 안에 넣어주자 코드 #include #include using namespace std; /* 문자열 string 1. 문자열 입력받기 2. JOI와 IOI의 개수 세기 3. 각 개수 출력하기 */ int main() { //1 string s; cin >> s; //2 int len = s.size(); int jcnt = 0, icnt = 0; for (int i = 0; i < len-2; i++) { if (s[i] == 'J' && s[i + 1] ..
문제 풀이 endl을 쓰면 시간초과가 나므로, \n으로 써준다. 벡터와 sort정렬을 이용한다. n을 입력받고, 벡터 v(n)을 선언해주었다. n만큼 for문으로 돌려주면서 벡터의 원소들을 입력받았고, sort정렬로 오름차순 정렬을 해주었다. 정렬된 결과를 다시 출력해야하므로, for문으로 벡터v를 다시 출력해주었다. 이때 정렬된 수들을 출력해줄때, 한 줄에 하나씩 출력을 하는 형태이므로 endl;을 이용해줬는데 계속 시간초과가 떠서 틀렸다.이 endl를 '\n'으로만 바꿔주었더니 바로 문제가 해결됐다. 이 이유는 아래 블로그를 참고했는데, endl와 \n은 둘 다 개행을 해주지만 endl의 경우는 내부 버퍼를 채우기 때문에 더 느리다. 그래서 보통은 \n을 사용해주는 것이 좋다고 한다. (출처: TIP..
문제 풀이 벡터와 sort정렬을 이용한다. n을 입력받는데, 이때 n은 정수 배열 A와 B의 크기인데 배열의 크기를 n으로 넣을 수 없으므로 벡터를 사용했다. vector avec(n); vector bvec(n); 위와 같이 A벡터(avec)와 B벡터(bvec)를 선언하고, 크기는 입력받은 n을 그대로 넣어준다. for문을 이용해 각각의 원소들을 입력받는다. 배열과 동일하게 avec[i], bvec[i]로 써주면 된다. a벡터는 내림차순으로, b벡터는 올림차순으로 정렬한 후에 각 원소끼리 곱해주면 S의 최솟값을 구할 수 있다. a벡터의 입력값 > 1 1 1 6 0 b벡터의 입력값> 2 7 8 3 1 ----------------------------------------- a벡터 내림차순으로 정렬> 6..
문제 풀이 가우스의 공식을 적용해서 풀면 된다. 이때 a가 b보다 작은 수라는 보장은 없으므로 이 부분을 if문으로 분기해서 풀어준다. 코드 #include using namespace std; /* 1. 두 정수 a,b를 입력받는다. 2. 두 정수 사이에 있는 수들의 합을 구한다. 3. 합을 출력한다. */ int main() { //1 long a, b; //int형보다 커야 하므로, long이상으로 잡아주기 cin >> a >> b; //2 if (a
문제 풀이 아스키코드를 활용해야 하는 문제이다. 테스트케이스 개수t를 입력받고 while문으로 돌린다. 입력받을 수x를 string으로 선언하고, 각 수가 나온 횟수를 셀 카운팅 배열 arr[10]을 선언하고 0으로 초기화해준다. for문을 이용해 입력받은 수는 string이므로 문자형태이다. 즉, 아스키코드로 인식이 되는 상황이기 때문에 문자0('0')을 빼주어야 한다. (문자 0은 아스키코드로 48이다) s[i]-48을 arr의 인덱스인수로 넣어주고, 증가시켜준다. 그리고 arr배열을 for문으로 돌리면서 0이 아닌 수를 만나면 cnt를 증가시켜주고 최종적으로 cnt를 출력해준다. 포인트 문자0 은 아스키코드로 48이므로, 숫자로 쓰려면 48을 빼주어야 한다. 만약 위의 방법처럼 하지 않고, 바로 출..
문제 풀이 1. 피연산자를 a와 b로, 연산자를 oper로 설정한다. 이때 연산자oper는 string형으로 선언하고, bool형 check 변수도 하나 생성해둔다. 2. while문으로 무한루프를 만들고, oper=="E"인 경우를 if문으로 빼서 break;를 걸어둔다. 이제 연산자 6개에 대한 if문을 이용할 것이다. if문의 조건으로는 oper=="연산자"를 넣어서 케이스들을 분기했다. 그리고 check변수에 해당 연산이 맞는지 불값으로 1 혹은 0을 넣는다. 케이스에 걸려져서 check 값까지 나왔다면 이제는 check 값을 확인할 차례이다. 만약 check값이 1이면 참이므로, true를 출력하도록 string res=true;를 넣고 0이라면 거짓이므로, false가 출력되도록 string ..