How to remove style and js from theme and add your own style and js where shortcode is used?

The problem with this is that the styles and scripts you want to remove gets printed in the head (some scripts in the footer), while your shortcode will most likely only be triggered after that.

One way will be as you suggested, doing this based on the url, but rather doing it based on the page (if possible). Using is_page, wp_deregister_style, wp_dequeue_style, wp_deregister_script and wp_dequeue_script.

if (is_page( array( 1, 2, 'about-us' ) )) {
    add_action( 'init', 'addFiles' );
    add_action( 'init', 'removeFiles' );
}

function addFiles(){
    wp_enqueue_style('bootstrap' , 'http://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css', array(), '3.3.5');
    ...
}
function removeFiles() {
    wp_deregister_style( $handle );
    wp_dequeue_style( $handle );
    wp_deregister_style( $handle );
    wp_dequeue_script( $handle );
}

This way you can execute the functions in time to deregister dequeue and the scripts and styles. The downside is you need to manually specify the page id, slug or title. Luckily you can pass it as an array, so you can add multiple pages at once.

It is ‘safer’ to deregister and dequeue the styles and scripts that you want to remove, since at the time your function executes, some might only be registered, and some might already be enqueued. The $handle is the name set for the script/style when it was registered or enqueued, like ‘bootstrap’ for the wp_enqueue_style in the example above.

Remember to add the version to you wp_enqueue_(s). Usually during development I use time() to avoid caching.

Also note that you can use the native jQuery-ui that wordpress provides by using:

wp_enqueue_script( 'jquery-ui-core' );

Here is a list of what you can load: jQuery-ui and WordPress