구현 5

[BOJ] 3107번 IPv6 (C++)

문제 (https://www.acmicpc.net/problem/3107) 3107번: IPv6 첫째 줄에 올바른 IPv6 주소가 주어진다. 이 주소는 최대 39글자이다. 또한, 주소는 숫자 0-9, 알파벳 소문자 a-f, 콜론 :으로만 이루어져 있다. www.acmicpc.net 출력은 무조건 4 글자씩 8번 출력되어야 하고, 콜론은 7개여야 한다. 1. 입력받은 문자열을 ':' 기준으로 분리시킨다. 2. 분리된 문자열을 담고 있는 벡터의 크기가 8보다 작다면 2번 규칙이 적용된 것이다. 따라서 2번 규칙이 적용된 곳에 문자열 "0000"을 부족한 만큼 삽입한다. 3. 2번에서 완성한 벡터의 문자열 중 0이 생략된 문자열에 0을 채워준다. [소스코드] 더보기 2021-12-28 Gold 5 - 구현 -..

ALGORITHM/BOJ 2022.01.03

[BOJ] 12904번 A와 B (C++)

문제 (https://www.acmicpc.net/problem/12904) 12904번: A와 B 수빈이는 A와 B로만 이루어진 영어 단어가 존재한다는 사실에 놀랐다. 대표적인 예로 AB (Abdominal의 약자), BAA (양의 울음 소리), AA (용암의 종류), ABBA (스웨덴 팝 그룹)이 있다. 이런 사실에 놀란 수 www.acmicpc.net 연산 1. 문자열의 뒤에 A를 추가한다. 연산 2. 문자열을 뒤집고 뒤에 B를 추가한다. 처음 시도 땐 S에서 두 가지 연산을 모두 진행시키며 T가 되는지 체크하는 방식으로 구현했는데 계속 메모리 초과가 발생했다. 구현 방식을 바꾸어서 T를 보고 연산을 거꾸로 진행시켜서 S가 되는지 체크했다. T의 가장 마지막 문자가 A일 때? 연산 1이 적용된 것이..

ALGORITHM/BOJ 2021.11.24

[BOJ] 20055번 컨베이어 벨트 위의 로봇 (C++)

문제 링크 (https://www.acmicpc.net/problem/20055) 20055번: 컨베이어 벨트 위의 로봇 길이가 N인 컨베이어 벨트가 있고, 길이가 2N인 벨트가 이 컨베이어 벨트를 위아래로 감싸며 돌고 있다. 벨트는 길이 1 간격으로 2N개의 칸으로 나뉘어져 있으며, 각 칸에는 아래 그림과 같이 1부 www.acmicpc.net 삼성 역량 기출문제에 있길래 알고리즘 스터디 문제로 픽한 문제...! 그냥,,,,, 구현했다 더 보기 좋고 간결한 코드도 있는지 한 번 찾아봐야겠다!! pair를 자료형으로 갖는 벡터에 (first: 내구도 second: 로봇 존재 여부(1: 존재, 0: 존재 X))를 담아서 구현했다. 진행 순서는 아래와 같다. 1. 벨트가 로봇과 함께 한 칸 회전: 로봇과 함..

ALGORITHM/BOJ 2021.10.22

[BOJ] 1713번 후보 추천하기 (C++)

문제 링크 (https://www.acmicpc.net/problem/1713) 1713번: 후보 추천하기 첫째 줄에는 사진틀의 개수 N이 주어진다. (1 ≤ N ≤ 20) 둘째 줄에는 전체 학생의 총 추천 횟수가 주어지고, 셋째 줄에는 추천받은 학생을 나타내는 번호가 빈 칸을 사이에 두고 추천받은 순서대 www.acmicpc.net 추천받은 학생의 사진을 사진틀에 게시하고 추천받은 횟수를 표시해야한다. 입력 : 사진틀의 개수와 전체 학생의 추천 결과(추천받은 순서대로) 출력 : 최종 후보 map을 사용하여 해결한 문제! map m; (추천 받은 학생, (추천 수, 들어온 시기)) - 비어있는 사진틀이 있다면? insert 함수 실행 -> 해당 학생이 이미 사진틀에 존재한다면 해당 학생의 추천 수 증가 ..

ALGORITHM/BOJ 2021.09.03

[BOJ] 3452번 고스택 (C++)

문제 링크 (https://www.acmicpc.net/problem/3425) 알고리즘 특강에서 풀었던 문제! 예외처리할 점이 엄청 많은 문제다 내 경우엔 DIV 때문에 무한틀렸습니다가 떴다🤯 아래 목록은 특강 때 강사님이 해주신 말씀들 !!! - 입력 처리 - 명령어가 문자로 들어오니까 명령어에 따라서 분기 - NUM의 경우는 뒤에 숫자가 들어옴 - 스택의 구현 - vector - 명령어를 구현하는 부분 - 예외처리 1. 0으로 나누었을 때 2. 연산 결과 절대값이 10^9를 넘었을 때 3. 변수 타입 long long (특히 곱하기) 4. 스택에 값이 없을 때 etc ... - 초기화 + 각각의 연산을 수행하는 로직 - END가 들어오면 프로그램 종료 (하나의 기계 종료) - 주의할 점 1. 예외처..

ALGORITHM/BOJ 2021.09.03