The Way

5월 2일 백준 본문

PS/백준 온라인 저지

5월 2일 백준

Jeonggyun 2018. 5. 3. 02:49

* 코드는 맨 아래에 있습니다


일단 프로그래밍 감이 조금 떨어진 것 같아서 간단한 문제들 위주로 많이 풀어봤다.

사실 간단한 문제 많이 푸는 것은 실력 향상에 별 도움이 되지 않을 것이다.



# 백준 1620번: 나는야 포켓몬 마스터 이다솜

String<->int를 빠르게 저장하고 사용할 수 있어야 한다.

당연히 map<string, int>이 떠오른다.



# 백준 7785번: 회사에 있는 사람

위 문제와 마찬가지로 문자열 삽입, 삭제, 검색이 용이해야 한다.


* 초보적인 실수지만 문자열 비교할 때

if (buf == "enter")처럼 비교하지 말자.. 참교육당했다.


* String 출력할 때 printf("%s", string)을 쓰려면 string.c_str()과 같이 써주어야 한다.


* set은 자동으로 정렬된 상태로 저장함.



# 백준 6603번: 로또

모든 경우 출력->재귀 사용하면 편함



# 백준 2845번: 파티가 끝나고 난 뒤

# 백준 3460번: 이진수

생략



# 백준 6679번 싱기한 네자리 숫자

* a진법으로 했을 때 n의 각 자리수 합 구하는 방법

int sum, n;
while (n) {
	sum += n % a;
	n /= a;
}

너무 쉽긴 한데 걍 메모용..



# 백준 6378번: 디지털 루트

"수는 최대 1000자리이다" 문제 좀 먼저 잘 읽자 ㅠ



# 백준 15595번: 정답 비율 계산하기

관리자는 아예 제외하고 세기, 문제를 못 맞춘 사람은 포함 x 두 가지 유의할 것

정답 비율 어떻게 계산하는지 항상 궁금했는데 알게 되서 좋다.

정답률 50% 넘는 문제를 바로 못맞췄으면 정답률 깎아먹는 주범(...)


* double의 상대오차는 10^-15 정도. float는 10^-7



# 백준 6321번: IBM 빼기 1

Z -> A로 가는 것에 유의



# 백준 6376번: e 계산

n=3부터는 0으로 끝나는 것이 있음에도 무조건 9자리를 맞추어야 하더라... 참교육당했다


* scanf 자릿수 표현

scanf("%.9f") -> 소숫점 뒤 9자리

scanf("%g") -> 뒤에 0은 생략해줌



# 백준 4641번: Doubles

sorting만 되어있는 구조라면 암거나. 난 set<int> 씀.



# 백준 4690번: 완전 세제곱

9^3 = 1^3 + 6^3 + 8^3이 도대체 왜 없나 했더니 1보다 큰 자연수였다... 문제를 잘 읽어야 고생을 안한다.



# 백준 3474번: 교수가 된 현우

소인수 2의 갯수와 5의 갯수를 살펴봐야 하는데, 당연히 2가 5보다는 많아서 5만 보면 된다.



# 백준 4659번: 비밀번호 발음하기

생략



# 백준 4172번: sqrt log sin

double과 int 처리에 유의하자.



# 백준 4246번: To and Fro

영어문제라서 대충읽었더니 역시 문제 대충읽기의 덫에 빠졌다.

-> <- ->방향을 번갈아가면서 간다. 참고.



# 백준 9938번: 방 청소

오늘 가장 고심한 문제.

처음에는 그래프를 그려서 풀려고 했는데, n = 30만인데 아무리 생각해도 시간이 못 버틸 것 같았다.

40분쯤 고민하니까 disjoint-set 문제라는 것이 보였다.

결국 loop가 생기냐 마냐 문제인데, 한 번 딱 loop가 생길때까지는 괜찮은데

loop의 원소와 연관된 두 번호가 뽑히면 술을 마셔버려야 한다.

연관된 번호를을 merge해주는 것과 loop가 생겼는지 잘 체크해주면 된다.

데이터셋 http://hsin.hr/coci/archive/2013_2014/에 있다.




'PS > 백준 온라인 저지' 카테고리의 다른 글

백준 이전에 푼 것 1  (0) 2018.05.11
5월 10일 백준  (0) 2018.05.11
백준 2480번: 주사위 세개  (0) 2018.02.21
백준 4999번: 아!  (0) 2018.02.21
백준 9655번: 돌 게임  (0) 2018.02.21
Comments