분류 전체보기
백준 2582 //시간문제는 초단위로 통일하라, string to int(stoi), %02d(0채우기,2칸)
2852번: NBA 농구 (acmicpc.net) 2852번: NBA 농구 첫째 줄에 골이 들어간 횟수 N(1 n; while (n--) { cin >> t >> s; t1 = s.substr(0, 2); t2 = s.substr(3, 5); int start = stoi(t1) * 60 + stoi(t2); for (int i = start; i b[i]) f[i] = 1; else if (a[i] < b[i]) f[i] = 2; } for (int i = 0; i < 48 * 60; ++i) { if (f[i] == 1)..
백준 3474 //idea를 위해 table을 그려라
3474번: 교수가 된 현우 (acmicpc.net) 3474번: 교수가 된 현우 첫째 줄에 테스트 케이스의 개수 T가 주어지고, 이어서 T개의 줄에 정수 N이 주어진다(1 > t; while (t--) { int ret2=0, ret5=0; cin >> a; for (int i = 2; i
백준 10709 //따닥따닥 입력받기 , 규칙발견, 구현
10709번: 기상캐스터 (acmicpc.net) 10709번: 기상캐스터 출력은 H 행으로, 각 행에는 공백으로 구분된 W 개의 정수를 출력한다. 출력의 i 번째 행 j 번째 정수 (1 ≦ i ≦ H, 1 ≦ j ≦ W) 는, 지금부터 몇 분후에 처음으로 구역 (i, j) 에 구름이 뜨는지를 표시 www.acmicpc.net * 따닥따닥 입력받기 1.문자열[index] cin >> s; for(int j = 0; j > s; for (int j = 0; j < x; ++j) { c = s.at(j); if (c == 'c') { a[i][j] = 1; v[i][..
백준 17071 //bfs, flood fill, 완탐x
17071번: 숨바꼭질 5 (acmicpc.net) 17071번: 숨바꼭질 5 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 500,000)에 있고, 동생은 점 K(0 ≤ K ≤ 500,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 때 www.acmicpc.net 문제1 : 0.25초 ->완탐불가능 해결 : 동생이방문할곳 방문됫는지 체크 -> 수빈이가 이미방문-> 수빈이는 2초간격으로 계속 머무르기 가능 -> 그 level(초)가 정답 if (v[level % 2][k]) { ok = 1; break; } 문제2 : x+-1로 인해 중복방문발생 해결:nx방문체크 -> 방문이면 continue; if (nx > 500000 || nxbr..
백준 2870 //vector<string>정렬은 커스텀으로, string토큰화
2870번: 수학숙제 (acmicpc.net) 2870번: 수학숙제 종이에서 찾은 숫자의 개수를 M이라고 하면, 출력은 M줄로 이루어져야 한다. 각 줄에는 종이에서 찾은 숫자를 하나씩 출력해야 한다. 이때, 비내림차순으로 출력해야 한다. 비내림차순은 내림차 www.acmicpc.net * 토큰화 for(s.len){ 숫자면 ret누적 아니고 토큰잇으면 ->go }if(남음)->go //뒤에 su00이런경우 처리 * go() 1.앞의 0지우기 2.모두지웟는데 빈칸 == 000이런경우 ret=0 3.v.push(ret) 4.ret초기화 #include using namespace std; typedef long long int ll; int n, c, a[1004]; map mp; //인덱스,모음(1)자음(..
백준 4659 // 문자열==비교가능
4659번: 비밀번호 발음하기 (acmicpc.net) 4659번: 비밀번호 발음하기 좋은 패스워드를 만드는것은 어려운 일이다. 대부분의 사용자들은 buddy처럼 발음하기 좋고 기억하기 쉬운 패스워드를 원하나, 이런 패스워드들은 보안의 문제가 발생한다. 어떤 사이트들은 xvtp www.acmicpc.net ※ 조건2,3은 글자수가 2글자, 3글자 이상일때만 검사해야함. 1.입력시, mp에 (idx,1(모음)2(자음)) 여부저장. => 조건3에서 검사쉽게. #include using namespace std; typedef long long int ll; int n, c, a[1004]; map mp; //인덱스,모음(1)자음(2) string s; bool f(string s) { if (s.find('..
백준 2910 빈도정렬 // 커스텀정렬, 인덱스에 의미부여
2910번: 빈도 정렬 (acmicpc.net) 2910번: 빈도 정렬 첫째 줄에 메시지의 길이 N과 C가 주어진다. (1 ≤ N ≤ 1,000, 1 ≤ C ≤ 1,000,000,000) 둘째 줄에 메시지 수열이 주어진다. www.acmicpc.net * 인덱스에 의미를 부여하라! ex)mp[2] ==2의 빈도 mp(해당숫자,빈도) mp_first(해당숫자,최초등장순서) v(빈도,해당숫자) *빈도수(v.first)만큼 출력해야함에 주의 ex) (0,0) (2,1) (3,2) 일때, 0은 출력안됨, 1 1 2 2 2 출력. for (auto i : v) { for (int j = 0; j n>>c; for (int i = 0; i <..
백준 7562 // 최단거리는 bfs, 핵심로직공부
7562번: 나이트의 이동 (acmicpc.net) 7562번: 나이트의 이동 체스판 위에 한 나이트가 놓여져 있다. 나이트가 한 번에 이동할 수 있는 칸은 아래 그림에 나와있다. 나이트가 이동하려고 하는 칸이 주어진다. 나이트는 몇 번 움직이면 이 칸으로 이동할 수 www.acmicpc.net *최단거리 bfs 핵심로직 1. 방문배열 값 == 이동거리 1-1. 초기 방문배열값=1 2. while-for문내 : v[ny][nx] = v[y][x] + 1; #include using namespace std; typedef long long int ll; int l, tc,ny,nx,o1,o2,t1,t2,y,x,ret, a[304][304], v[304][304]; int dx[] = {1,2,2,1,-1..