본문 바로가기
반응형

Algorithm/Algorithm16

특정 진법 정수로 바꾸기 특정 입력받은 문자열을 정수형으로 변환하는 방법을 알아보도록 하겠습니다. 포스팅을 읽기 전에 이전에 포스팅했던 atoi에 대해 아직 보지 못하신 분은 한번 참고해 주시길 바라겠습니다. https://hig0617.tistory.com/100 만약에 문자열에 공백들이 있으면 이를 제거해 주어야 합니다. 부호가 여러개가 있으면 '-'가 홀수이면 음수로 짝수이면 양수로 부호를 정해 주어야 합니다. 저희는 위의 역할을 해주는 함수를 OdOp_sign이라 정하겠습니다. OdOp_sign char* OdOp_sign(int* sign, char* str) { while (*str == 32 || (*str >= 9 && *str = 9 && base[n] = 9 && *str = 9 && base[n] 2023. 12. 5.
문자열 소문자로 변환하기 ascii코드를 활용하여 변환할 예정입니다. 소문자 a의 ascii코드 값은 97이고 A의 ascii코드 값은 65입니다. 차이가 32 나죠. 대문자가 입력되면 32만큼 더하면 소문자가 됩니다. 그걸 이용해서 한번 만들어 보겠습니다. char *strlowcase(char *str) { int i; i = 0; while (str[i] != '\0') { if (str[i] >= 65 && str[i] 2023. 10. 23.
문자열 대문자로 변환하기 ascii코드를 활용하여 변환할 예정입니다. 소문자 a의 ascii코드 값은 97이고 A의 ascii코드 값은 65입니다. 차이가 32 나죠. 소문자가 입력되면 32만큼 빼면 대문자가 됩니다. 그걸 이용해서 한번 만들어 보겠습니다. char *strupcase(char *str) { int i; i = 0; while (str[i] != '\0') { if (str[i] >= 'a' && str[i] 2023. 10. 22.
겹치지 않는 N자리 수를 오름차순으로 출력하기 이번에는 제목 그대로 겹치지 않는 N자리 수를 오름차순으로 차례로 출력해 보도록 하겠습니다. 이때 N을 3이라고 가정을 하겠습니다. 3자리 수 또한 오름차순으로 되어 있어야 합니다. 즉, 012는 되는데 132는 안 되는 겁니다. 012, 013, 014, 015, 016, 017, 018, 019, 023, 024, ..., 089, 123, ...., 789 위와 같이 출력될 것입니다. 첫째 자리의 최댓값은 7이고 둘째 자리의 최댓값은 8이고 셋째 자리의 최댓값은 9입니다. 규칙이 하나 보이지 않습니까? 왠지 모르게 각 자리의 최댓값이 10 - N + index인 것 같습니다. 그면 몇 자리가 들어오더라도 최댓값을 설정할 수 있게 되었습니다. 쉼표는 마지막에만 없으면 될 것 같으니 첫째 자리가 최댓값.. 2023. 10. 18.
반응형