ALGORITHM/programmers 4

[프로그래머스 Level 2] 메뉴 리뉴얼 (C++)

문제 (https://programmers.co.kr/learn/courses/30/lessons/72411) 코딩테스트 연습 - 메뉴 리뉴얼 레스토랑을 운영하던 스카피는 코로나19로 인한 불경기를 극복하고자 메뉴를 새로 구성하려고 고민하고 있습니다. 기존에는 단품으로만 제공하던 메뉴를 조합해서 코스요리 형태로 재구성해서 programmers.co.kr - 처음 생각 (시간 초과) orders 반복 -> course 반복 -> course 반복문 내에서 orders 문자열로 next_permutation 돌림 do while문 내에서 orders 문자열을 인덱스 0~j 부분을 잘라준다. 잘라낸 문자열을 정렬하고 set에 존재하는지 확인한다. set에 해당 문자열이 존재하지 않는다면 set에 삽입, map..

[프로그래머스 Level 2] 단체사진 찍기 (C++)

문제 (https://programmers.co.kr/learn/courses/30/lessons/1835) 코딩테스트 연습 - 단체사진 찍기 단체사진 찍기 가을을 맞아 카카오프렌즈는 단체로 소풍을 떠났다. 즐거운 시간을 보내고 마지막에 단체사진을 찍기 위해 카메라 앞에 일렬로 나란히 섰다. 그런데 각자가 원하는 배치가 모두 programmers.co.kr 알고리즘 스터디 문제 !! ㅎㅇ JY ㅋㅋ 일단 이 문제는 예전에 풀었던 문젠데.. 그땐 엄청 비효율적으로 짰다ㅠㅠ 이번에는 코드를 간결하게 짜려고 노력함! string 변수에 각자 이름을 뜻하는 "ACFJMNRT"을 저장해 두고 이 문자열로 next_permutation 함수를 실행했다. 문자열 조합이 생성될 때마다 data vector의 모든 요소..

[프로그래머스 Level 1] 숫자 문자열과 영단어 (C++)

문제 링크 (https://programmers.co.kr/learn/courses/30/lessons/81301) 코딩테스트 연습 - 숫자 문자열과 영단어 네오와 프로도가 숫자놀이를 하고 있습니다. 네오가 프로도에게 숫자를 건넬 때 일부 자릿수를 영단어로 바꾼 카드를 건네주면 프로도는 원래 숫자를 찾는 게임입니다. 다음은 숫자의 일부 자 programmers.co.kr 인자로 받은 문자열에 존재하는 영단어를 대응되는 숫자로 바꾸어 원래 숫자를 완성해주면 된다. 인자로 받은 문자열을 한 글자씩 반복하며 isdigit 함수를 통해 숫자인지 아닌지 확인한다. 숫자가 아니면(문자면) while문을 통해 zero ~ nine 중 하나의 단어가 될 때까지 임시 문자열(tmp)에 문자를 이어 붙인다. 문자열이 완성..

[프로그래머스 Level 1] 신규 아이디 추천 (C++)

문제 링크 (https://programmers.co.kr/learn/courses/30/lessons/72410) 코딩테스트 연습 - 신규 아이디 추천 카카오에 입사한 신입 개발자 네오는 "카카오계정개발팀"에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. "네오"에게 주어진 첫 업무는 새로 programmers.co.kr 7단계의 처리 과정을 통해 규칙에 맞지 않은 닉네임이라면 규칙에 맞는 새로운 닉네임을 추천해주어야 하는 문제이다. 1단계: new_id의 모든 대문자를 대응되는 소문자로 치환합니다. - isupper, tolower 함수를 통해 대문자를 소문자로 치환한다. 2단계: new_id에서 알파벳 소문자, 숫자, 빼기(-), 밑줄(_), 마침표(.)..