전체 글

전체 글

    ACM 호텔 풀이

    문제 링크: https://www.acmicpc.net/problem/10250 백준 기본 수학 1 5단계 - 10250번 ACM 호텔을 풀어보았다. 풀이: 손님을 세로로 쌓아가면서 호텔방에 배정하는 문제이다. C++ #include using namespace std; int main() { int cases; // 케이스 cin>>cases; for(int i=0;i num[j]; int a=num[2]%num[0]; // 배치할 층 int b=num[2]/num[0]+1; // 배치할 방, 방이 1부터 시작하므로 1을 더해줌 if(a==0) // 손님의 방이 호텔 층 수의 배수라면 { a=num[0]; b-=1; } if(b>=10) cout

    달팽이는 올라가고 싶다 풀이

    문제 링크: https://www.acmicpc.net/problem/2869 백준 기본 수학 1 4단계 - 2869번 달팽이는 올라가고 싶다를 풀어보았다. 풀이: 경우를 나눠 계산하면 된다. C++ #include using namespace std; int main() { int input[3]; // 입력 for(int i=0;i> input[i]; int day=(input[2]-input[0])/(input[0]-input[1]); // 마지막 날 전까지 소요되는 날들 if(((input[2]-input[0])%(input[0]-input[1]))) day+=1; // day가 정수가 아니라면 하루 더 써야 함 cout

    분수찾기 풀이

    문제 링크: https://www.acmicpc.net/problem/1193 백준 기본 수학 1 3단계 - 1193번 분수찾기를 풀어보았다. 풀이: 분자 혹은 분모의 최댓값과 한 대각선에 있는 분수 번수의 최댓값을 알아야 한다. 예를 들어, 8번째 분수인 2/3은 1/4->2/3->3/2->4/1 대각선에 위치해 있고, 이 대각선에서의 분자 혹은 분모의 최댓값은 4이고, 분수 번수의 최댓값은 10이다. 그래서 구하고자 하는 x번째 분수가 어느 대각선에 위치해 있는지를 알아내고, 그 대각선이 어느 순서대로 번수가 증가하는지를 파악해 x를 알아내면 된다. C++ #include using namespace std; int main() { int x; // 입력 cin>>x; int count=0; // 지..

    벌집 풀이

    문제 링크: https://www.acmicpc.net/problem/2292 백준 기본 수학 1 2단계 - 2292번 벌집을 풀어보았다. 풀이: i번만큼의 이동으로 최대 몇 번까지 갈 수 있는지를 구한다. C++ #include using namespace std; int main() { int n; cin >> n; int result=0; int round=0; int maxroom=1; while(1) { maxroom += 6*round; if(maxroom>=n) { result=round+1; break; } round++; } cout room: i+=1 room+=(6*(i-1)) print(i) Java

    손익분기점 풀이

    문제 링크: https://www.acmicpc.net/problem/1712 백준 기본 수학 1 1단계 - 1712번 손익분기점을 풀어보았다. 풀이: 고정비용/(판매비용-가변비용)을 한 후 1을 더하면 손익분기점이 된다. C++ #include using namespace std; int main() { int nums[3]; for(int i=0;i> nums[i]; if(nums[1]>=nums[2]) cout

    그룹 단어 체커 풀이

    문제 링크: https://www.acmicpc.net/problem/1316 백준 문자열 10단계 - 1316번 그룹 단어 체커를 풀어보았다. 풀이: 글자를 비교해 그룹 단어를 판단한다. C++ #include using namespace std; int main() { int cnt; cin>>cnt; int res=0; for(int i=0;i>inp; bool alpha[26]={false}; bool check=true; for(int j=0;j

    크로아티아 알파벳 풀이

    문제 링크: https://www.acmicpc.net/problem/2941 백준 문자열 9단계 - 2941번 크로아티아 알파벳를 풀어보았다. 풀이: 크로아티아 알파벳을 다른 문자로 치환하고 개수를 센다. C++ #include #include using namespace std; int main() { string croatian[8] = {"c=","c-","dz=","d-","lj","nj","s=","z="}; int idx; string inp; cin >> inp; for(int i = 0; i < 8; i++) { while(1) { idx = inp.find(croatian[i]); if(idx == string::npos) break; inp.replace(idx,croatian[i]...

    다이얼 풀이

    문제 링크: https://www.acmicpc.net/problem/5622 백준 문자열 8단계 - 5622번 다이얼을 풀어보았다. 풀이: 알파벳마다 숫자를 배정해 풀면 된다. C++은 아스키 코드 값을 이용했다. 파이썬은 딕셔너리를 이용했다. C++ #include using namespace std; int main() { int alpha[]={3,3,3,4,4,4,5,5,5,6,6,6,7,7,7,8,8,8,8,9,9,9,10,10,10,10}; string inp; cin>>inp; int time=0; for(int i=0;i